JavaScript进阶:js的一些学习笔记-2

文章目录

        • 1. 构造函数
          • 1. 实例成员、静态成员
          • 2. 内置的构造函数

1. 构造函数

构造函数是一种特殊的函数,主要用来创建对象。通过构造函数可以快速创建多个类似的对象

  • 创建对象的三种方式

  • const obj1 = {username:'liuze'};
    // 方法1
    const obj2 = new Object();
    obj2.username = 'liuze';
    // 方法2
    function Obj3(username){this.username = username;
    }
    console.log(new Obj3('liuze'));
    // 方法3,通过构造函数来创建对象
    
  • 构造函数:大写字母开头的函数

1. 实例成员、静态成员

实例成员:通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)

function Person(username,age){this.username = username;this.age = age;this.play = function(){console.log('玩!');}// 实例成员
}
const a = new Person('liuze',23);
a.play();

静态成员:构造函数的属性和方法被称为静态成员(静态属性和静态方法)

function Person(username,age){}
Person.address = '湖南';
Person.play = function(){console.log('玩!');
}
// 静态成员
2. 内置的构造函数

Object、Array、String、Number

JavaScript中最主要的数据类型有6种,分别为5种基本数据类型和1种引用类型

5种基本数据类型为:字符串、布尔、数值、undefined、null

1种引用类型为:对象

其中字符串、数值、布尔等基本数据类型也都有专门的构造函数,这些称为包装类型,js种几乎所有的数据都可以基于构造函数创建。

  • Object:内置的构造函数,用于创建普通对象

    • 静态方法,Object.keys() 获取对象中的所有属性(键)

    • const obj = {username:'liuze',age:23};
      console.log(Object.keys(obj));
      //  ['username', 'age']
      
    • Object.values() 获取对象中的属性值

    • console.log(Object.values(obj));
      // ['liuze', 23]
      
    • Object.assign() 拷贝对象

    • const obj = {username:'liuze',age:23};
      const obj2 =  Object.assign(obj);
      console.log(obj2);
      // {username: 'liuze', age: 23}
      
  • Arrays 内置的构造函数,用于创建数组

    • 常见的实例方法

      • forEach,遍历数组

      • filter,过滤数组,返回新数组

        const arr = [1,2,3,4,5,6,7,8];
        const arr2 = arr.filter(function(ele,index){// console.log(ele,index);return  % 2 == 0;
        })
        console.log(arr2);
        // [2, 4, 6, 8]
        
      • map,迭代数组,返回新数组

        const arr = [1,2,3,4,5,6,7,8];
        const arr2 = arr.map(function(ele,index){// console.log(ele,index);return ele * 2;
        })
        console.log(arr2);
        //  [2, 4, 6, 8, 10, 12, 14, 16]
        
      • reduce,累计器,返回累计处理的结果,用于求和

        arr.reduce(function(上一次的值,当前值){},初始值)

        const arr = [1,2,3,4,5,6,7,8];
        const total = arr.reduce(function(prev,curr){return prev + curr;
        });
        console.log(total);
        // 36
        const total2 = arr.reduce(function(prev,curr){return prev + curr;
        },10)
        console.log(total2);
        // 46
        
      • join,对数组元素拼接为字符串,返回字符串

      • find,查找元素,返回符合的第一个数组元素的值,如果没有返回undefined

        const arr = [1,2,3,4,5,6,7,8];
        const res = arr.find(function(ele,index){return ele  == 9; 
        })
        console.log(res);
        // undefined
        
      • every,判断数组中每一个元素是否全都符合要求,全部都满足要求返回true,否则false

        const arr = [1,2,3,4,5,6,7,8];
        const res = arr.every(function(ele,index){return ele < 0; 
        })
        console.log(res);
        // false
        
  • String

    • substring ,截取字符串

      substring(indexStart[,indexEnd]),indexStart需要截取的首字母下标,indexEnd需要截取的字符串的末尾字母下标(不包含)

      str = '123'
      str.substring(0,1)
      // '1'
      
    • startsWith,检测某个字符串是否以另外某个字符串开头

      startsWith(searchString[,position]),position表示从某个字符串哪个下标开始检测,默认position=0

      const str1 = '12345';
      console.log(str1.startsWith('123'));
      // true
      console.log(str1.startsWith('123',0));
      // true
      console.log(str1.startsWith('123',1));
      // false
      
    • includes,检测某个字符串中是否存在另外一个字符串

      includes(searchString[,position])

      const str1 = '12345';
      console.log(str1.includes('123'));
      // true
      console.log(str1.includes('123',0));
      // true
      console.log(str1.includes('123',1));
      // false
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言下使用SQL语言

需头文件&#xff1a;#include<sqlite.h>---需下载 1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开数据库文件(…

188基于matlab的AR模型参数估计

基于matlab的AR模型参数估计&#xff0c;burg法和ule-Walker法估计信号&#xff0c;并输出估计误差。程序已调通&#xff0c;可直接运行。 188 AR模型参数估计 burg法和ule-Walker法 (xiaohongshu.com)

展厅设计中灯光的要点都是什么

1、白炽灯 白炽灯也就是普通普通白炽灯泡白炽灯有显色性强&#xff0c;开灯即亮&#xff0c;明暗可调&#xff0c;结构简单&#xff0c;造价低等优点&#xff0c;但缺点是使用寿命短&#xff0c;光效较低展厅设计中常使用于走道和其他部位。 2、卤钨灯 充气白炽灯填充气体中含有…

【数理统计实验(三)】假设检验的R实现

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

【linux中cd指令使用】cd进入与退出路径

【linux中cd指令使用】cd如何进入与退出路径 1、cd进入指定路径&#xff0c;比如我要进入下面这个路径中去运行setup.py文件&#xff0c;如果我不跳转到该路径下直接运行&#xff0c;会报错找不到该文件 cd空格路径&#xff0c;即可跳转到该路径 cd /public2/xxx/tiny-cuda…

鸿蒙不再适合JS语言开发

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;对TS的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式UI、状态管理等相应的能力&#xff0c;让开发者可以以更简洁、…

Pytorch入门-Transforms

文章目录 ComposeToTensorNormalizeResize 在PyTorch中&#xff0c;transforms是一个用于图像预处理和数据增强的模块&#xff0c;通常与torchvision库一起使用。torchvision提供了大量预先定义的transforms&#xff0c;它们可以方便地应用于图像数据&#xff0c;以进行预处理或…

突破内网限制,自由访问 NAS:网络穿透方案大合集! | 开源日报 No.199

anderspitman/awesome-tunneling Stars: 12.2k License: NOASSERTION awesome-tunneling 是一个列出 ngrok 替代方案和其他类似 ngrok 的隧道软件和服务的项目&#xff0c;重点是自托管。 主要面向自托管者和开发人员。提供注册域名并将记录自动指向运行隧道的服务器。自动设…

疯狂数钞票H5游戏

移动端微信h5 <template><div class"container" id"container"><div class"regBag"></div><div class"moneyBox"><transitionv-for"(item,index) in showImgList":key"index"…

这个班要不还是别上了吧。

先不提代码写得对不对。咱就是说&#xff0c;打印语句都出不来&#xff0c;搞个chuanchuan哟。 &#xff08;谁能给我解释一下。。&#x1f643;&#xff09;

Linux命令-cupsenable命令(启动指定的打印机)

说明 cupsenable命令 用于启动指定的打印机。 语法 cupsenable(选项)(参数)选项 -E&#xff1a;当连接到服务器时强制使用加密&#xff1b; -U&#xff1a;指定连接服务器时使用的用户名&#xff1b; -u&#xff1a;指定打印任务所属的用户&#xff1b; -h&#xff1a;指定…

芯片架构设计及其作用

芯片架构设计是芯片流片前很重要的一个环节&#xff0c;俗称pre-silicon&#xff0c;芯片架构设计的好坏&#xff0c;决定了芯片产品的质量&#xff0c;决定了芯片产品是否易用&#xff0c;决定了芯片产品的性能&#xff0c;决定了芯片产品在市场上是否具有持久性。芯片生产是个…

MySQL的常用函数

MySQL函数 聚合函数时间函数字符集函数数学函数其他函数 聚合函数 函数名说明COUNT()统计个数SUM()总和&#xff0c;不是数字没有意义AVG()求平均值&#xff0c;不是数字没有意义MAX()求最大值&#xff0c;不是数字没有意义MIN()求最小值&#xff0c;不是数字没有意义 group …

公众号怎么转移主体

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;长期以来&#xff0c;由于部分公众号在注册时&#xff0c;主体不准确的历史原因&#xff0c;或者公众号主体发生合并、分立或业务调整等现实状况&#xff0c;在公众号登记主体不能对应实际运营人的情况下&#xff0…

Android Selinux详解[五]--新增hal服务标签相关

在工作过程中&#xff0c;SElinux常用的有以下几个文件可用于新增标签 可用于加标签的文件名含义对应的声明文件名(一般会声明的地方&#xff0c;根本上放哪里都可以)file_contexts给 文件/目录/节点 新增标签file.tegenfs_contexts给节点新增标签&#xff0c;与上一个不同的是…

matlab+yalmip调试问题指南

很多同学在应用matlab编写程序过程中会遇到各种报错信息&#xff0c;本文整理了部分应用yalmip及求解器优化过程中遇到的常见部分问题及实用解决办法&#xff0c;供大家参考&#xff0c;更多报错及解决办法会持续更新&#xff0c;谢谢关注&#xff01; 序号问题/方法报错详情1…

反极域控制篇(二)

好的&#xff0c;上一篇介绍了如何破掉极域的控网&#xff0c;这期说说如何退掉锁屏。 分三种情况&#xff1a; 一、投老师的屏幕 点击最左上角的按钮&#xff08;就是能下拉选项缩放显示什么的那个&#xff09;&#xff0c;选择最中间的选项&#xff0c;然后点旁边的鸟什么图…

阿里云服务器ECS--安全,稳定,购买灵活,低成本

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如ECS经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云服务器网al…

基于Spring Boot的疗养院管理系统的设计与实现

传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xff0c;可以…

Verovio简介及在Windows10和Ubuntu 22.04上编译过程

Verovio是一个快速、便携、轻量级的开源库&#xff0c;用于将音乐编码倡议(Music Encoding Initiative(MEI))数字乐谱雕刻到SVG图像中。Verovio还包含即时转换器(on-the-fly converters)用于渲染Plaine & Easie Code、Humdrum、Musedata、MusicXML、EsAC和ABC数字乐谱。源代…