码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript知识点小记2

时间:2017-07-26 01:52:07      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:ber   undefined   stl   代码   上下文   asc   efi   学习   函数   

1 数据类型、判断方法

   基本类型:Undefined、Null、Boolean、Number、String

   引用类型:Object

  Ps:特殊对象类型:Array、Function、Math、Date、JSON、RegExp、Error

精确区分数据类型的方法:Object.prototype.toString.call()

console.log(Object.prototype.toString.call("34"));//[object String]
console.log(Object.prototype.toString.call(66));//[object Number]
console.log(Object.prototype.toString.call(function(){}));//[object Function]

 

2 执行上下文

  当前代码的执行环境

 

3 this

  this的指向是在函数被调用的时候确定的。

(1)       若一个函数中有this,但其没有以对象的形式调用,而是以函数名的形式执行,则this指向全局对象。

function test(){ 
    console.log(this); 
} 
test();//window

 

(2)       若一个函数中有this,且该函数是以对象方法的形式调用,则this指向的是调用该方法的对象。

var obj={ 
    test:function(){ 
        console.log(this); 
    } 
} 
obj.test();//obj

 

(3)       若一个函数中有this,且包含该函数的对象也同时被另一个对象所包含,尽管这个函数是被最外层的对象所调用,this指向的也只是它的上一级对象。

var obj={ 
    test:{ 
        fun:function(){ 
            console.log(this); 
        } 
    } 
} 
obj.test.fun();//test

 

(4)       若一个构造函数或类方法中有this,则其指向由该构造函数或类创建出来的实例对象。

class Test{ 
    constructor(){ 
        this.test = "test";  //类实例 
    } 
    option(){ 
        console.log(this);   //类实例 
    } 
}

 

 

学习 & 感谢 & 推荐https://mp.weixin.qq.com/s/I7A1iC8Et6uOGZ234DsTlA

 

JavaScript知识点小记2

标签:ber   undefined   stl   代码   上下文   asc   efi   学习   函数   

原文地址:http://www.cnblogs.com/haimengqingyuan/p/7237134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!