js基础原理

http://www.cnblogs.com/wangfupeng1988/p/3977987.html

 

1.js中的对象到底是什么?

js中对象本身就是一个Map,里面只有键值对,除此之外,啥也没有!

2.js的基本类型有哪些?

js的基本类型有6种:String、number、Boolean、Symbol、undefined、null

与java相比,String和Boolean含义基本没有变,boolan只能是双精度浮点数,就是java中的double。Symbol相当于uuid:代表独一无二的值。

3。js中哪些是对象?

js中出了这6个基本数据类型外,其他一切都是对象。

4.函数的定义

有两种:声明的方式和表达式的方式

声明的方式

function fool(a,b){

  return a+b;

}

表达式的方式:

var fool = function(a,b){

  return a+b;

}

 5.js对象的创建

1、{}

 

例如:var={name:'hy',age:28}


2、除了6种基本数据类型外,其他的一切都是对象

所以,创建函数本身就是创建对象

函数可以被直接调用,也可以通过new来创建对象(注意:只有通过函数创建的对象才能new,这与构造函数有关,具体不清楚,望指点)

当函数有返回值,并且返回值是一个对象时,返回的是这个对象;如果返回值是基本类型、或者没有返回值,返回的是这个函数本身。因为new之后得到的必须是一个对象(具体原因请解释)

6.js中对this的理解

使用this首先要搞清楚这个this指的是谁。参考文章: http://www.jianshu.com/p/938aedb0f871

 7.js的作用域

js的作用域:分为全局作用域和局部作用域

函数外的就是全局作用域,函数内的就是局部作用域,他是以函数为界限的,javascript没有块级作用域,所以对于for之类的,其内外都是一个作用域。

其实,你光知道“javascript没有块级作用域”是完全不够的,你需要知道的是——javascript除了全局作用域之外,只有函数可以创建的作用域

所以,我们在声明变量时,全局代码要在代码前端声明,函数中要在函数体一开始就声明好。除了这两个地方,其他地方都不要出现变量声明。而且建议用“单var”形式。 比如:var a,b,c;

posted on 2017-06-16 14:57  世界之大追梦者  阅读(746)  评论(0编辑  收藏  举报

导航