js 基础知识

1. javascript基础系列

JavaScript有5中基本数据类型 undefined Null Number Boolean String 和复杂类型Object

A) 声明没有赋值 和 没有声明的都是 undefined

B) 只有声明并赋值为null值才会是null

C) typeof(object) 是 “function”

D) typeof(null) 也是”object”  因为null表示一个空对象的指针。并且undefined是派生子null值的。、

E) JavaScript高级程序设计中说到 函数是对象不是一种数据类型。

对象其实就是一个function 或者说Object是一个函数的名字。官方称之为构造函数。

2. 基本包装类型

A) String number boolean 都是基本类型 基本类型和复杂类型的最大的区别就是 基本类型没有prototype属性。 也就意味着你不能给基本类型随意添加方法或者属性。

B) 首字母大写的这个String是一个function,所有new String(“str”)得到的是一个object而不是string。为什么基本类型string会有一些初始的方法? 方法是怎么加上去的?

1> 基于str创建一个String类型的实例。

2> 在实例上调用制定方法

3> 销毁这个实例

3. 我们可以把String Number Boolean叫做封装类型 他们就好像我们在C#里面定义的自定义类型一样 但是不要忘记了我们真正的基本来下是string number boolean。用String 所构造出来的对象是属于object类型的。

4. 在JavaScript中用function定义类 他们的实例将永远是object 包括原来的原生 Date Array RegExp;

5. 借助instanceof来判断一个对象是不是它的实例。

6. 大写的Function,它和function之间的关系会不会和String和string一样。

函数表达式其实就是用一个变量接收了一个function的对象而已,而这个function的对象则是Function的实例 包括函数声明写出来的函数也是Function的实例。

所有的function都是Function的实例

Function本身也是一个function

总结:

5中数据类型 Null Undefined String Number Boolean

复杂类型 object 其实是function的实例。

除了Function 这个系统里面的function构造器以外 其他所有function的实例都是object类型的。

Date Array RegExp 这些都是function类型 同时也是Function的实例 同理 它们的实例也是object类型。

 

posted on 2016-06-22 21:57  Befacebook  阅读(117)  评论(0)    收藏  举报