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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 一个开启严格模式的函数(非对象方法),其中的 this 不再被封装为对象,如果没有指定 this 的话它的默认值则是 undefined(!视频中说的是 null),而不是全局对象。但如果指定 this 的话,其值仍可能是全局对象,具体取决于所在上下文。(相关:http://dwz.cn/23JWzI)
    查看全部
  • 严格等于
    查看全部
  • js重载
    查看全部
  • 类型检测小结
    查看全部
  • 判断对象类型更常用的是用instanceOf,基于原型链来判断类型。instanceOf期待操作的是对象;左边的对象是否在原型链上有右边操作对象的构造函数的 typeof 适合函数类型和基本类型 。 数组和null都会返回object。 instanceof 判断对象类型,基于原型链。 判断左操作数的对象的原型链上是否含有右边构造函数的property属性 注意:不同Window或iframe间的对象类型检测不能使用instanceof
    查看全部
  • 类型检测: typeof xxx; //对null检测有问题 xxx instanceof xxx; //在不同的window和iframe下,检测有问题 Object.prototype.toString.apply(xxx); //在IE6,7,8下,对null和undefined检测失效
    查看全部
  • 包装对象,就是当基本类型以对象的方式去使用时,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,当访问结束后这个临时对象会被销毁掉.
    查看全部
  • 正则吧表达式中基本的特殊字符;
    查看全部
  • 正则表达式匹配的两种方式: 1、字面量:/\d\d\d/.test(string); 2、构造器:new RegExp('\d\d\d').test(string);
    查看全部
  • 系列化的自定义
    查看全部
  • 与后端的数据传输系列化
    查看全部
  • 属性的标签汇总
    查看全部
  • 对象标签: [[proto]] [[class]]没有直接的方式获得class,通过间接的方式Object.prototype.toString [[extensible]]对象是否可扩展--对象上的属性是否可以继续添加 var obj = {x:1,y:2}; Object.isExtensible(obj);//true Object.preventExtendsions(obj);//设置不可扩展 Object.isExtendsible(obj);//false obj.z = 1; obj.z; Object.getOwnPropertyDescriptor(obj,'x');//Object{value:1,writable:true,enumerable:true,configurable:true} -------------------------------------- Object.seal(obj);隐藏该对象 Object.getOwnPropertyDescriptor(obj,'x');//Object{value:1,writable:true,enumerable:true,configuration:false} Object.isSealed(obj);//true ------------------------------------- Object.freeze(obj);//冻结该对象 Object.getOwnPropertyDescriptor(obj,'x');//Object{value:1,writable:false,enumerable:true,configuration:false} Object.isFrozen(obj);//true -------------------------------- 序列化 JSON.stringify(obj);//前端到后台 obj=JSON.parse('{"x":1}'); obj.x;//1
    查看全部
  • 属性标签: Object.getOwnPropertyDescriptor({声明一个字面量对象},'字符串属性名'); Object.getOwnPropertyDescriptor({pro:true},'pro'); var person = {};//声明一个空对象 Object.defineProperty(属性的对象,'字符串属性名',{对象具体标签值});//创建属性 Object.defineProperty(person,'name',{configurable:false,writable:false,enumerable:true,value:"han"});//创建属性
    查看全部
  • function foo(){} Object.definProperty(foo.prototype ,'z',{get:function(){return 1;}}); var obj = new foo(); obj.z;//1 obj.z=10; obj.z;//stil 1 Object.definProperty(obj,'z',{value:100,configurable:true}); obj.z;//100; delete obj.z;//true obj.z//back to 1 var o = {}; Object.definProperty(o,'x',{value:1});//writable=false,configurable=false var obj = Object.creat(o); obj.x;//1 obj.x=200; obj.x;//still 1 ,can't change it Object.definProperty(obj,'x',{writable:true,configurable:true,value:100}); obj.x;//100 obj.x = 500; obj.x;//500
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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