JS变量、对象和this关键字

JS变量

JS变量ES5之前有6种类型,number,string,boolean,function,object,undefined,ES6又加了一种Symbol。

JS的解释器工作机制是“先解析,后运行”,什么意思呢?即可以先使用变量在定义,如下:

a += 6;
var a = 0;

 if(!obj){

  var obj = {}

 }

JS对象

JS对象的样子其实就是一个类似于JSON格式的值,如下:

var person = {
    name:"li",
    sex:""
}

这就是定义一个简单对象,若生成多个对象这样写会闲的冗余,再加上对象属性比较多的情况时,可以使用函数,推荐使用构造函数。

构造函数

构造函数跟普通函数类似,但为了区分,最好首字母大写,如下:

function Person(name,sex){
       this.name = name;
       this.sex = sex      
}    

this关键字在这里指明是用Person构造函数生成的实例对象,为此实例赋值。

this关键字

this关键字是指向函数运行时所处的环境,如下:

var x= 1;
function f(){
  console.log(this.x)  
}
var obj = {
  x = 3;  
}
obj.f() ;        //输出3
f();            //输出1

obj调用时f所处于obj下,所以使用obj的 x属性。

单独调用f时,处于全局环境下,所以输出1。

原文地址:https://www.cnblogs.com/hzozj/p/11089628.html