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

JavaScript深入浅出

Bosn 资深架构师
难度中级
时长 5小时28分
学习人数
综合评分9.60
493人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.5 逻辑清晰
  • 特殊运算符: 1、逗号运算符 a,b 例如 var s = (1,2,3),则s依次赋值,最后输出为3 2、delete运算符 delete obj.x 删除对象obj中的x属性 在IE9下,obj中必须configurable:true 才可以删除,否则无效 3、in运算符 判断obj是否有值或window里是否有变量,返回布尔值 例如 attr in json 或 'document' in window 4、instanceof 判断对象类型 {} instanceof Object // true 5、typeof 判断对象,返回对象类型 例如 typeof 100 === 'number' // true 6、void 一元的,判断所有值,返回均为undefined
    查看全部
  • 函数方式
    查看全部
  • object.prototype.toString 说实话- -,这个没用过,所以涨知识了 Object.prototype.toString.apply([]) //"[Object Array]" Object .prototype.toString.apply(function(){}); //"[Object function]" Object .prototype.toString.apply(null); //"[Object null]' ... PS:ie6/7/8下存在兼容性问题,在检测null时会返回object
    查看全部
  • 4)constructor构造器 每个对象都有个constructor属性,它指向该对象的构造函数类型,不过该属性的值可以被改写的,所以用它的判断并不可靠 5)duck type 百度了为啥叫“鸭子类型”,有这样的话:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 大概意思就是说当某个对象具备某种类型的特征或者行为时就可以被判断为某种类型,不知道是不是“能力检测”那种意思-
    查看全部
  • 由于typeof只适用于判断基本类型,对object,Date,Array进行检测时只会统一返回“object”(很显然这不是我们想要的,我们想知道它的具体类型),这时就要用到instanceof了,instanceof在检测对象时会返回具体类型,如: new array() instanceof Array //true new Date() instanceof Date //true ... 如果想用instanceof去检测基本类型只会统一返回false,另外由于instanceof是基于原型链的,所以有下列结果: //定义父类 function Parent(){} //定义子类 function Child(){} //让子类继承父类 Child.prototype = new Parent(); //此时再new一个子类实例,使用instanceof new Child() instanceof Child; //true new Child() instanceof Parent //true 通过原型链索引,new的是子类实例,子类继承父类,所以子类实例既是子类类型又属于父类类型 PS:instanceof在跨iframe或者window时由于存在多个window对象,所以在使用instanceof检测时会返回false
    查看全部
  • 在JavaScript中只要引用了字符串(数字、布尔值也是一样的)的属性,JS就会将字符串通过调用new String(s)的方式转换成对象,这个对象继承了字符串的方法,并被用来处理属性的引用。一旦属性引用结束,这个新创建的对象就会销毁(真实实现并不一定是这样,但整个过程看起来是这样)。这个过程就叫包装对象
    查看全部
  • 严格等于"= = ="类型不同返回false;类型相同:null= = = null,undefined= = =undefine, NaN不等于NaN,new Object不等于new Object,NaN这种数字比较是不会相等的,和自己比较也不会相等。1. NaN = 'Not a Number' 非数字值 2. NaN表示非法的数字。parseFloat(arg) 和 parseInt(arg) 函数在计算并不是数值的值时,返回NaN,(number类型) 通过isNaN(arg)来判断arg是否为NaN,如果arg为非数字值或NaN值,返回TRUE,否则返回FALSE
    查看全部
  • +obj 优先调用valueOf,如果值是基本类型就使用他,如果不是继续调用toString,如果值是基本类型就使用他,如果都不是基本类型就会报错.
    查看全部
  • function foo(){ this.a=100; return this.b; } function foo2(){ this.a=100; return {a=1}; } new foo();//如果new一个函数对象,返回的值不是对象,那么会忽略这里的return语句,而且函数体内的this初始化一个原型对象为foo的prototype空对象,this.b=100; 那么最终new foo() 返回的对象为{a:100} new foo2();//如果返回值为一个函数,那么new foo2() 返回的是return的那个对象
    查看全部
  • 闭包 for(var i=1;i<4;i++){ (function(i){}(i)); }
    查看全部
  • get/set方法与this
    查看全部
    0 采集 收起 来源:[JavaScript]this

    2017-02-08

  • 属性标签的设置对应的功能
    查看全部
  • 数组最大长度2^23-1
    查看全部
  • +obj 优先调用valueOf,如果值是基本类型就使用他,如果不是继续调用toString,如果值是基本类型就使用他,如果都不是基本类型就会报错.
    查看全部
  • Student.prototype=new Person(); 和 Student.prototype=Object.create(Person.prototype); 是等价的?
    查看全部
    0 采集 收起 来源:instanceof

    2017-02-07

举报

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

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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