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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • #运算符# 一元运算符 +num 二元运算符 a+b 三元运算符 x?a:b 特殊运算符 1、条件运算符 var val=true?1:2; // val=1; 2、逗号运算符 var val=(1,2,3); // val=3; 从左到右依次计算表达式的值,最后取最右边的值 3、delete运算符 -- 删除对象上的属性 var obj = {x:1}; obj.x; //1 delete obj.x; obj.x; //undefined 从ie9开始以后,Object.defineProperty var obj={}; Object.defineProperty(obj,'x',{ configurable:false, value:1 }) delete obj.x; //false(当configurable:true时,才可以被delete) obj.x; //1 (输出1,代表没被成功删除) 4、in运算符 window.x=1; 'x' in window; 判断window里面有没有x这个key,可用in运算符,有则返回true 5、instanceof、typeof运算符 {} instanceof Object // true typeof 100 === 'number' // true 6、new运算符 function Foo(){} Foo.prototype.x=1; var obj = new Foo(); obj.x; // 1 obj.hasOwnProperty('x'); // false (判断是否为对象本身的属性) obj._proto_.hasOwnProperty('x'); // true(判断是否为对象原型上的属性) 7、this运算符 this; // window(浏览器) var obj = { func : function(){return this;} }; obj.func(); // obj 8、void运算符(一元运算符) void 0 //undefined void(0) //undefined 不管void后面的操作数是什么,最终都会返回undefined
    查看全部
  • #表达式# 是一种JS短语,可以使JS解释器用来产生一个值 原始表达式:常量、直接量、关键字、变量 复合表达式:原始表达式用*等可以拼接为复合表达式 数组、对象的初始化表达式[1,2][1,,4]{x:1,y:2} 函数表达式:把一个函数付给某个变量 属性访问表达式 var o={x:1} o.x也可以o['x'] 调用表达式 对象创建表达式 new Func(1,2) new Object
    查看全部
  • #类型检测# typeof 适合基本类型的及fuction的检测,但是遇到null返回的是object instancefo适合自定义对象,在不同的iframe和window间检测失效 Object.prototype.toString.apply(需要操作的数); 合适内置对象和基元类型,在IE678中,遇到null和undefined失效。
    查看全部
  • #js包装对象# 包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined
    查看全部
  • #严格等于# a===b Number,Boolean,String,Undefined这几种基本类型混合比较时,会将其转换成数字再进行比较 基本类型与复合对象进行比较时, 会先将复合对象转换成基本类型(依次调用valueOf与toString方法)再进行比较 undefined被当成基本类型,undefined转换成数字是NaN, 因此undefined与除null之外的其它类型值进行比较时始终返回false(注意NaN==NaN返回false) null被当成复合对象,由于null没有valueOf与toString方法,因此和除了undefined之外的其它类型值进行比较时始终返回false,NaN 和任何比较都不相等一个,也包括其自己,意思是 一个非数字的值……
    查看全部
  • #js隐式转换# js中6型数据类型:弱类型特性 5种原始类型:number(数字)、string(字符串)、boolean(布尔值)、null 、undefined 1种对象类型:object对象(函数function array Date) +: 加法运算符、数字转换符、字符连接 总归要尝试全部可能计算一个结果出来的,字符串+数字结果总是字符串,不管左右; -:取反运算符(直接转换,不会进行parseInt操作)、减法运算符,作为减法运算符时会尝试把左右操作数都转换为数字;
    查看全部
  • 这个bind()实在太恶心了
    查看全部
  • 今天到此为止
    查看全部
  • 对象的属性: writable、enumerable、configurable、value、get/set [[proto]] 原型链 [[class]] [[extensible]] 对象是否允许增加新的属性 原型链: 设置foo.prototypes.z = 3;之后,如果使用ojb.z的话,他会在obj找不到,然后去proto上找,一直到原型链的末端
    查看全部
  • key value
    查看全部
  • http://img1.sycdn.imooc.com//55c06aaa0001faf312800720-500-284.jpg
    查看全部
  • 类型检测小结
    查看全部
  • 特殊运算符
    查看全部
  • 类型检测小结
    查看全部
  • bind方法使用 this作用域的区别
    查看全部

举报

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

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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