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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 1,function add(a,b){return a+b} //函数声明 2,函数表达式 var add = function(a,b){} (function(){})(); return function(){}; var add = function foo(a,b){} 3.函数声明会像声明变量一样被前置 4.函数构造器 var func=new Function('a','b','console.log(a+b);'); 5.函数构造器所创建的变量是局部的,只能使用全局变量
    查看全部
  • 数值和字符串的转换
    查看全部
  • 严格模式的概念: 如果进入严格模式:让函数func里面的代码在严格模式下进行,则在代码前加上'use strict'这个指令,向上兼容;如果整个js文件在严格模式下执行,则在js文件的开头加上‘use strict’即可。use strict并一定是要第一行的代码,那么在use strict前面,我们也可以用单引号引起来一个abc,或者所谓的其他的一些指令令,如果写的是其他的如果var a,var b则就不可以了。
    查看全部
  • 1、typeof适用于函数对象和基本类型的判断 typeof(undefined) 返回undefined typeof NaN 返回number typeof null 返回object 2、 4、类型检测 方法: (1).typeof 返回字符串,适合函数(function)对象和基本类型的判断监测,遇到null失效 typeof 100 "number"//返回字符串number .. true "boolean" ..function "function" .. (undefined) "undefined" .. new Object() "object" .. [1,2] "object"//没有经过特殊处理 .. NaN "number" .. null "object"//兼容问题 (2).instanceof,适用于自定义对象,也可以监测原生对象 obj .. Object//基于原型链 左操作数期望是对象,右操作数必须是函数对象,否则会抛出type error 会判断左操作数在原型链上是否有右边构造函数的prototype属性 任何一个构造函数都有一个prototype属性 不同window或iframe间的对象类型检测不能使用instanceof (3).Object.prototype.toString,遇到null,undefiend失效 Object.prototype.toString.apply([]);==="[object Array]"//判断数组 (4).constructor 任何一个对象都有一个constructor属性,指向构造这个对象的构造器或者构造函数,可以被改写 (5).duck type 比如不知道这个是不是数组,可以判断他的特征:length数字,是否有joying,push等等
    查看全部
  • 类型检测
    查看全部
  • 1、包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined。number,string,boolean都有对应的包装类型。
    查看全部
  • 类型检测 方法: (1).typeof 返回字符串,适合函数(function)对象和基本类型的判断监测,遇到null失效 typeof 100 "number"//返回字符串number .. true "boolean" ..function "function" .. (undefined) "undefined" .. new Object() "object" .. [1,2] "object"//没有经过特殊处理 .. NaN "number" .. null "object"//兼容问题 (2).instanceof,适用于自定义对象,也可以监测原生对象 obj .. Object//基于原型链 左操作数期望是对象,右操作数必须是函数对象,否则会抛出type error 会判断左操作数在原型链上是否有右边构造函数的prototype属性 任何一个构造函数都有一个prototype属性 不同window或iframe间的对象类型检测不能使用instanceof (3).Object.prototype.toString,遇到null,undefiend失效 Object.prototype.toString.apply([]);==="[object Array]"//判断数组 (4).constructor 任何一个对象都有一个constructor属性,指向构造这个对象的构造器或者构造函数,可以被改写 (5).duck type 比如不知道这个是不是数组,可以判断他的特征:length数字,是否有joying,push等等
    查看全部
  • NaN(not number)属于num的一个值
    查看全部
  • 1、减号可理解为减法运算,加号可理解为字符串拼接; 2、变量转化为数字 num-0 变量转换为字符串num+'' 3、等于==和严格等于===: 等于==: "1.23"==1.23 //是正确的,javascript会尝试将字符串变成数字。 0==false //也是正确的,javascript也会尝试进行转换。 new Object()==new Object()//.. [1,2]==[1,2] 严格等于===: 类型不同的话,也是不等的。//如:"1.23"==="1.23"是false 对象的比较也是不相等的。//如:new Object===new Object 是false 而, null===null/undefined==undefined是正确的 值得注意的是,NaN===NaN是false,NaN无论跟谁(哪怕自己)比较都是不等的。
    查看全部
  • 数组的概念,创建数组、数组增删改查操作 二维数组、稀疏数组 数组方法 数组 一般对象 数组 字符串
    查看全部
  • 数组与一般对象的比较:相同与不同点。
    查看全部
  • Array.isArray:判断是否为数组; Array.isArray([]);//true 还可以用[]instanceof Array;//true 判断是否为数组, ({}).toString.apply([])==='[object Array]'; //true [].constructor===Array;//true
    查看全部
  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 火狐MDN
    查看全部
  • indexOf()数组的检错。
    查看全部
  • array.prototype.reduce:是将数组中元素两两进行操作,然后最终得到一个值。 reduceRight和reduce是差不多的,是从右侧开始判断的。 注:原数组未被修改。
    查看全部

举报

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

微信扫码,参与3人拼团

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

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