javascript学习总结一

原始类型和引用类型

Javascript基本数据类型:原始类型引用类型

原始类型保存为简单数据值,引用对象则保存为对象

 

Javascript使用一个变量对象追踪变量的生存期,原始值被直接保存在变量对象内,而引用值则作为一个指针保存在变量对象内,该指针指向实际对象在内存中的存储位置

 

原始类型

Boolean

Number

String

Null

Undefined

鉴别原始类型用typeof操作符  特殊:typeof(null)----object

判断一个值是否为空类型的最佳方法是直接和null做比较

Console.log(value===null) //true or false

Javascript内建的引用类型

Array  数组类型

Date   日期和时间类型

Error   运行期错误类型

Function  函数类型

Object  通用对象类型

RegExp   正则表达式类型

内建对象实例化

Var items = new Array();

Var now = new Date();

Var error = new Error(“Something had happened”);

Var func = new Function(“console.log(‘hi’)”);

var object = new Object();

Var re = new RegExp(“\\d+”);

字面形式(允许你在不需要使用new操作符和构造函数显式创建对象的情况下生成引用值)要用字面形式创建对象,可以在大括号内定义一个新对象及其属性。

①对象和数组字面形式

var book = {

name: “Information of Management”,

year: 2014

}

属性名字也可以用字符串表示,特别是当你希望名字中包含空格或其他特殊字符时

var book = {

“name”: “Information of Management”,

“year”: 2014

}

 

var book = new Object();

book.name = “Information of Management”;

book.year = 2014

上述3例的结果是一致的

 

var colors = [‘red’,’blue’,’green’]

这段代码等价于

var colors = new Array(‘red’,’blue’,’green’)

②函数字面形式

基本上都要用字面形式来定义函数,使用字面形式创建函数既方便也不容易出错

function reflect(value){

Return value;

}

这段代码等同于

var reflect = new Function(“value”,”return value;”)

 

通常人们不会使用函数的构造函数

③正则表达式字面形式

模式被包含在两个”/”之间,第二个”/”后是单字符表示额外选项,例如:

var numbers = / \d+/g;

等同于

var numbers = new RegExp(“\\d+”,”g”)

如果使用RegExp构造函数,传入模式的参数是一个字符串,需要对任何反斜杠进行定义

访问属性

属性是对象中保存的名字和值得配对。点号是Javascript中访问属性的最通用做法,也可以用中括号访问Javascript对象的属性

Var array = [];

Array.push(12345);

也可以如下例中用中括号,方法的名字有中括号中的字符串表示

Var array = [];

Array[“push”](12345);

在需要动态决定访问哪个属性时,这个语法特别有用

Var array = [];

Var method = “push”;

Array[method](12345);

鉴别引用类型

Instanceof操作符以一个对象和一个构造函数为参数,如果对象是构造函数所指定的类型的一个实例,instanceof返回true,否则返回false

Instanceof操作符可鉴别继承类型,所有对象都是Object的实例

 

 

鉴别数组

虽然instanceof可以鉴别数组,但是有一个例外会影响网页开发者:Javascript的值可以在同一个网页的不同框架之间传来传去,当你试图鉴别一个引用值得类型时,有可能出现问题。

Array.isArray()是鉴别数组的最佳方法。

原始封装类型

原始封装类型有3String BooleanNumber

当读取字符串、数字或布尔值时,原始封装类型将被自动创建

Var name = “Nicholas”;

Var firstChar = name.charAt(0);;

Console.log(firstChar);

这是在背后发生的事情

Var name = “Nicholas”;

Var temp = new String(name);  

//Javascript创建了一个字符串实体让charAt0)可以工作,字符串对象的 存在仅用于该语句,并在随后被销毁

Var firstChar = temp.charAt(0);

Temp=null;

Console.log(firstChar);

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值