JavaScript知识点汇总上半部分

这篇博客详细介绍了JavaScript中的对象创建、函数定义、数组操作和正则表达式的基础知识。从字面量、构造函数到原型、闭包,再到数组的遍历和正则表达式的规则,深入浅出地讲解了JavaScript的重要概念。此外,还提到了面向对象编程中的String、Math和Date对象的基本使用。
摘要由CSDN通过智能技术生成

一.对象

   在 JavaScript 中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。

对象是由属性和方法组成的:

属性:事物的特征,在对象中用属性来表示(常用名词)

方法:事物的行为,在对象中用方法来表示(常用动词)

1.对象的创建

1.利用字面量创建对象

   对象字面量:就是花括号 { } 里面包含了表达这个具体事物(对象)的属性和方法

{ } 里面采取键值对的形式表示

键:相当于属性名

值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔类型,函数类型等)

例如:var star = {

    name : 'red',

    age : 18,

    sex : '男',

    sayHi : function(){

        alert('大家好啊~');

    }

};

// 多个属性或者方法中间用逗号隔开

// 方法冒号后面跟的是一个匿名函数

 2.利用new Object创建对象

     var 对象名 = new Object();

    例如: var obj = new Object(); //创建了一个空的对象

obj.name = ‘小罗’;

obj.age = 18;

obj.sex = '女';

obj.sayHi = function() {

            console.log('hi~');

}

//1.我们是利用等号赋值的方法添加对象

//2.每个属性和方法之间用分号结束

 3.利用构造函数创建对象

      构造函数 :是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。

   function 构造函数名()  {   //构造函数语法格式

    this.属性 = 值;

this.方法 = function() {}

}

new 构造函数名();

  例如:

function Star(name,age,sex) {

    this.name = name;

    this.age = age;

    this.sex = sex;

    this.sing = function(sang){

        console.log(sang);

    }

}

    var xl = new Star('小罗',18,'女');

console.log(typeof xl) // object对象,调用函数返回的是对象

注意:构造函数名字首字母要大写

函数内的属性和方法前面需要添加 this ,表示当前对象的属性和方法。

构造函数中不需要 return 返回结果。

当我们创建对象的时候,必须用 new 来调用构造函数。

   2.对象的调用访问

    对象里面的属性调用 : 对象.属性名 ,这个小点 . 就理解为‘的’。

    对象里面属性的另一种调用方式 : 对象[‘属性名’],注意方括号里面的属性必须加引号。

    对象里面的方法调用:对象.方法名() ,注意这个方法名字后面一定加括号

console.log(star.name)     // 调用名字属性

console.log(star['name'])  // 调用名字属性

star.sayHi();              // 调用 sayHi 方法,注意,一定不要忘记带后面的括号

3.遍历对象的属性

    for...in 语句用于对数组或者对象的属性进行循环操作。

语法如下

for(变量 in 对象名字){

         // 在此执行代码

}

语法中的变量是自定义的,它需要符合命名规范,通常我们会将这个变量写为 k 或者 key。

for(var k in obj) {

          console.log(k); //这里的 k 是属性名

          console.log(obj[k]);//这里的 obj[k] 是属性值

}

var obj = {

          name: '小罗',

          age: 18,

          sex: '女',

          fn:function() {};

};

console.log(obj.name);

console.log(obj.age);

console.log(obj.sex);

//for in 遍历我们的对象

//for (变量 in 对象){}

//我们使用for in 里面的变量 我们喜欢写k 或者key

for(var k in obj){

          console.log(k); // k 变量 输出得到的是属性名

          console.log(obj[k]); // obj[k] 得到的是属性值

}

4.删除对象中的属性

        delete只是断开了属性和宿主对象的联系,而不会操作属性中的属性,并且delete只会删除自有属性,不能删除继承属性。可以用循环遍历删除内容。

        语法:delete 属性访问表达式 例如: delete stu.name //删除学生对象中的name属性。

5.新增属性并赋值

 Obj.newproname=”value”

6.检测属性

in 检测某属性是否是某对象的自有属性或者是继承属性

hasOwnProperty()检测给定的属性是否是对象的自有属性,对于继承属性将返回false

propertyIsEnumerable() 检测给定的属性是否是该对象的自有属性,并且该属性是可枚举的通常由JS代码创建的属性都是可枚举的,但是可以使用特殊的方法改变可枚举性。

例如:

var o = {

x:1

}

o.hasOwnProperty("x"); //true,x 为o的自有属性

o.hasOwnProperty("y"); //false,o 中不存在属性y

o.hasOwnProperty("toString"); //false,toString为继承属性

student.propertyIsEnumerable(“toString”); //false,不可枚举

7.原型

   Object 类型所具有的任何属性和方法也同样存在于其他对象中,任何对象继承于 Object对象。

Object中常用的方法:

constructor: //保存用户创建当前对象的函数

hasOwnProperty(propertyName); //检查给定的属性名是否是对象的自有属性。

toString(); //返回对象的字符串表示

valueOf(); //返回对象的字符串数值,布尔值的表示 propertyIsEnumerable(propertyName); //检查给定的属性在当前对象实例中是否存在 。

isPrototypeOf(object); //检查传入的对象是否是原型

toLocaleString(); //返回对象的字符串表示,该字符串与执行环境的地区对应

8.对象序列化

    将对象转换为字符串的描述,解决对象在io中传递的问题

常规转换

obj.toString()

转换为json字符串

JSON.stringify(obj)

转换为查询字符串

var qs = require('querystring')

qs.stringify(obj)

二.函数

1.函数定义与作用

函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。

函数的作用:

功能的封装,直接调用,代码复用率提高

构建对象的模板(构造函数)

函数实际上是对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法,由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。

  2.函数声明

 //声明函数

function 函数名(){

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值