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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
492人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • arr.slice()
    查看全部
  • a.sort()可传入排序参数,arr.sort(function(a,b){return a-b;})以升序排列,arr.sort(function(a,b){return b -a;})以降序排序
    查看全部
  • function Foo(){} typeof Foo.prototype;//"object" Foo.prototype.x = 1; var obj3 = new Foo(); Foo函数有一个prototype的对象属性,它的作用是在当使用 new Foo()去构造父的实例时,Foo.prototype属性会作为new(构造)出来的对象的原型。prototype和原型是两回事,prototype是函数对象上预设的对象属性,而原型通常是obj3对象上的原型,指向构造器的prototype属性。
    查看全部
    0 采集 收起 来源:概念与继承

    2018-03-22

  • 不同场景下,this的值
    查看全部
    0 采集 收起 来源:小结

    2015-07-27

  • 函数声明、函数表达式、函数构造器
    查看全部
    0 采集 收起 来源:小结

    2015-07-27

  • VO按照如下顺序填充: 1.函数参数(若未传入,初始化该参数为undefined) 2.函数声明(若发生命名冲突,会覆盖)——函数声明提升的原因 3.变量声明(初始化变量值undefined,若发生命名冲突,会忽略) 在全局作用域下,函数声明和变量声明会被前置到全局执行上下文(执行环境)中。 在浏览器环境下,当this表示全局对象时,this就指window对象 匿名函数,加上括号就变成了函数表达式,再加个括号,就变成了立即执行函数... 同一个函数,被调用多次的话,每次调用函数时都会有独立的执行上下文,每个执行上下文环境都会记录各自的变量参数等信息。
    查看全部
  • JS中没有块级作用域的概念 Function的方法来创建函数,函数里面访问不到当前作用域的变量,可以访问到全局作用域的变量 JS 中是没有块级作用域的 for(var i =1;i<3;i++){var b = 5;} 这样的写法 i 和 b 都是全局的变量
    查看全部
  • typeof 需要操作的数; 适合基本类型及function检测,遇到null失效 Object.prototype.toString.apply(需要操作的数); 合适内置对象和基元类型,在IE678中,遇到null和undefined失效。 obj instanceof Object;适合自定义对象(Person、Student等自定义对象),也可以用来检测原生对象,在不同iframe和window间检测时失效。
    查看全部
  • 如果要判断一个数组是否是数组。如何? var a=[1,2]; typeof a;//返回的将是Object,这只能判断a是一个对象,而我们要进一步确定a是一个数组。 如下: Object.prototype.toString.apply(a);将会返回"[Object Array]" 同理, var b=123; Object.prototype.toString.apply(b);将会返回"[Object Number]" 再比如: var c=null; Object.prototype.toString.apply(c);将会返回"[Object Null]" 同理, var d=undefined; Object.prototype.toString.apply(d);将会返回"[Object Undefined]" 这种方法一般用以判断函数或者对象!
    查看全部
  • 类型检测: typeof instanceof Object.prototype.toString constructor duck type typeof [1,2] ==="Object" typeof 123 ==="Number" ... obj instanceof Object //instanceof左操作数是一个对象(否则直接返回false),右操作数是一个函数对象,或函数构造器,否则会抛出type error exception。原理是判断obj对象的原型链上是否含有右侧构造函数的prototype属性。 var p=new Person(); var s=new Student(); 那么s.proto指向Student.prototype,而Student.prototype指向Person.prototype;所以,s.proto也会指向Person.prototype。因此,s instanceof Person返回的是true。
    查看全部
  • 等于:== "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无论跟谁(哪怕自己)比较都是不等的。
    查看全部
  • 非原始数据类型: object:function/array/date/...
    查看全部
  • javascript中的原始数据类型: number string boolean null undefined
    查看全部
  • 严格模式是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并增强安全性。 ‘use strict’ 严格模式下:不允许使用with 不允许未声明的变量被赋值 arguments变为参数的静态副本 重复属性名报错 不允许八进制字面量
    查看全部
  • var定义的全局,局部变量不能被delete,但隐式创建全局变量可以被delete。 全局函数,局部函数不能被delete
    查看全部

举报

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

微信扫码,参与3人拼团

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

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