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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 表达式
    查看全部
  • 类型检测: ①constructor:任何对象都有一个constructor属性,继承自原型,constructor指向构造这个对象的构造器/构造函数,constructor是可以改写的,所以使用时要小心 ②duck type:通过一些特征来判断对象类型(自己查询了解) 类型检测小结: ①typeof:适合基本类型及function检测,遇到null失效 ②Object.prototype.toString:通过{}.toString拿到,适合内置对象和基本类型,遇到null和undefined失效(IE6/7/8等返回[object Object]) ③instanceof:适合自定义对象,也可以用来检测原生对象,在不同iframe和window间检测时会失效
    查看全部
  • VO填充顺序:参数->函数(命名冲突会覆盖)->变量(命名冲突会忽略)
    查看全部
  • 类型检测:Object.prototype.toString Object.prototype.toString.apply([]); === "[object Array]";//判断是否是数组 Object.prototype.toString.apply(function(){}); === "[boject Function]"; Object.prototype.toString.apply(null); === "[object Null]"; Object.prototype.toString.apply(undefined); === "[object undefined]"; 注意兼容性问题:IE6/7/8,Object.prototype.toString.apply(null);返回"[object Object]"
    查看全部
  • 类型检测:typeof 返回一个字符串,适合函数对象和基本类型的判断 typeof 100 // "number" typeof true //"boolean" typeof function //"function" typeof newObject() //"object" typeof [1,2] //"object",注意!数组也是对象!!! typeof NaN //"number",和无穷Infinity都是特殊的数字类型 typeof null // "object",为了兼容和历史原因,返回类型为object,特殊!
    查看全部
  • 类型检测:instanceof ①用于判断对象类型,基于原型链判断,左操作数必须是一个对象,否则直接返回false,右操作数必须是一个函数对象/函数构造器,都则会抛出异常 ②原理:判断左操作数对象的原型链上是否有右边构造函数上的prototype属性,任何构造函数都会有一个prototype对象属性 [1,2]instanceof Array === true //[1,2]instanceof Array构造器,返回true new Object()instanceof Array === false//空对象返回false 注意!不同window或iframe间的对象类型检测不能使用instanceof!!!
    查看全部
  • 原始类型包装=》调用方法=》销毁(ToString(),length)
    查看全部
  • 先判断类型,在判断值“===”
    查看全部
  • 包装对象: 5原始类型(number、string、boolean、null、undefined)中,前三种都有对应的包装类型 var str = "string";//原始字符串类型 var str = new String("string");//对象类型,并且是string类型对应的包装类 当给一个原始类型添加属性时,js会智能的把基本类型转换为对应的包装类型对象,相当于new了一个string var a = "string";//声明一个变量储存原始类型 alert(a.length);//6 a.t = 3;//给原始类型添加一个属性t alert(a.t);//undefined 当a.length、a.t返回或设置以后,这个临时对象会被销毁掉,所以a.t赋值为3以后再去输出a.t返回undefined 除了string以外,number和boolean也是一样的 (1,2,3).toString//一样可以转换为字符串,也是类似的原理 包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined,JS中number、string、boolean都有对应的包装属性
    查看全部
  • str是string(基本类型),本身是没有方法的。 当尝试把基本类型的str当做对象一样访问时,例如:str.length; 解释器会创建一个临时的包装对象,伪代码: [[tempObj]] = new String(str); [[tempObj]].length; // 返回具体的length; delete [[tempObj]]; // 销毁临时对象 重复访问str.length会重复创建这个临时对象。 所以str.t赋值可以成功,但再次访问str.t返回undefined,因为每次创建的临时包装对象都是不同的。
    查看全部
  • 1.Js中没有块级作用域 2.function test(){<br> var a=b=1;<br> }<br> test();<br> console.log(typeof a);//undefined;<br> console.log(typeof b);//number;<br> <br> 隐式创建了全局变量b.<br> 应该改成var a=1,b=1;
    查看全部
  • 运算符优先级
    查看全部
  • new 运算符
    查看全部
  • forEach 数组遍历,ES5,ie9+,不改变原数组; map,数组中的元素作一些映射不改变原数组; filter,对数组进行过滤不改变原数组; every ,每一个元素都要符合一个条件; some,某个元素符合一个条件; reduce.数组两两进行一些操作,得到一个统一的值,reduceRight,是从右到左(数组值相加) indexOf,数组的检索,返回的是数组的下标,lastIndexOf,从右向左; /isArray判断一个对象是否为数组(还有[]instanceof Array)
    查看全部
  • javaScript六种数据类型:number 、string、Boolean、null 、undefined
    查看全部

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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