为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 没有块级作用域
    查看全部
  • 类型检测小结
    查看全部
  • 判断对象类型更常用的是用instanceOf,基于原型链来判断类型。instanceOf期待操作的是对象;左边的对象是否在原型链上有右边操作对象的构造函数的 typeof 适合函数类型和基本类型 。 数组和null都会返回object。 instanceof 判断对象类型,基于原型链。 判断左操作数的对象的原型链上是否含有右边构造函数的property属性 注意:不同Window或iframe间的对象类型检测不能使用instanceof
    查看全部
  • typeof
    查看全部
  • 数据类型
    查看全部
  • 包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined。number,string,boolean都有对应的包装类型。 (1)number,string,boolean都有对应的包装类型 eg:var str="string";//字符串类型 var strObj=new String("string")//对象类型,String类型对应的包装类 str不是对象,是基本类型不应该有属性和方法 字符串,当把一个基本类型尝试以对象的方式去使用时,比如访问length属性或者增加一些属性,js会把基本类型转换为对应的包装类型对象,相当于new了一个string,当访问结束后这个临时对象会被销毁掉.
    查看全部
  • var a=b=1;
    查看全部
  • get\set方法怎么使用2 var person={}; Object.defineProperties(person,{ title:{value:'fe',enumerable:true}, corp:{value:'BABA',enumerable:true}, salary:{value:50000,enumerable:true,writable:true}, luck:{ get:function(){ return Math.random() > 0.5 ? 'good' : 'bad';} }, promote:{ set:function(level){ this.salary*=1 + level * 0.1;} } });
    查看全部
  • 对象的属性标签
    查看全部
  • Object.getOwnPropertyDescriptor({pro:true},'pro'); //Object {value: true, writable: true, enumerable: true, configurable: true} 函数可以查看对象中某个属性的所有属性标签。 两个参数,分别为该对象、属性。 Object.keys(object) :传回对象的可列举的属性和方法的名称
    查看全部
  • 仅分组: /(?:abc)(def)\1/.test('abcdefdef');//其中\1引用def的匹配结果而忽略abc的匹配结果
    查看全部
  • 当给原型链对象定义了属性x,并设置其不可写(不能更改)。 此时如果又想让其能更改的话, A、给原型链对象重新定义属性x,并设置其可写。(可行的前提是,条件要不违反下面“异常”的第5项,否则的话,会报重复定义的错误)。 异常 如果以下任一条件为 true,则引发 TypeError 异常: 1、object 参数不是对象。 2、此对象不可扩展且指定的属性名称不存在。 3、descriptor 具有 value 或 writable 特性,并且具有 get 或 set 特性。 4、descriptor 具有 get 或 set 特性,上述特性不是函数且已定义。 5、指定的属性名称已存在,现有属性具有 false 的 configurable 特性,且 descriptor 包含一个或多个与现有属性中特性不同的特性。 但是,当现有属性具有 false 的 configurable 特性和 true 的 writable 特性时,则允许 value 或 writable 特性不同。 B、给obj对象定义属性x,设置其可写,这个时候,这个时候就给obj重写了一个属性x,其可写。所以调用的时候可写。但是将其delete之后,再调用,会发现原型链中的x还是原来的x。所以这种方法,不会影响原型链中的属性x。
    查看全部
  • javascript 严格模式
    查看全部
  • 当给原型链对象定义了属性x,并设置其不可写(不能更改)。 此时如果又想让其能更改的话, 1、给原型链对象重新定义属性x,并设置其可写。(可行的前提是,当初定义的时候,设置了这个writable属性)。如果重新定义的时候,多设置了其他属性,就会报错,说重复定义,不允许。 2、给obj对象定义属性x,设置其可写,这个时候,这个时候就给obj重写了一个属性x,其可写。所以调用的时候可写。但是将其delete之后,再调用,会发现原型链中的x还是原来的x。所以这种方法,不会影响原型链中的属性x。
    查看全部
  • 当给原型链对象定义了属性x,并设置其不可写(不能更改)。 此时如果又想让其能更改的话, 1、给原型链对象重新定义属性x,并设置其可写。(可行的前提是,当初定义的时候,设置了这个writable属性)。如果重新定义的时候,多设置了其他属性,就会报错,说重复定义,不允许。 2、给obj对象定义属性x,设置其可写,这个时候,这个时候就给obj重写了一个属性x,其可写。所以调用的时候可写。但是将其delete之后,再调用,会发现原型链中的x还是原来的x。所以这种方法,不会影响原型链中的属性x。
    查看全部

举报

0/150
提交
取消
课程须知
1.您至少学习了本站“JS入门”、“JS进阶”两门基础课程。 2.如您具备一定实践经验对学习有很大帮助。 3.如您没有脚本编程开发经验,学习过程有可能会受挫部分内容或示例代码,请“暂时略过不懂的部分,后面章节会阐述”,当然想透彻学习,还需大量实践来体会知识的内涵。
老师告诉你能学到什么?
结合实例,深入解析以下知识内容: 1. 数据类型、表达式和运算符、语句; 2. 对象、数组、变量、函数; 3. this、闭包和作用域; 4. OOP; 5. 正则与模式匹配。

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!