转载于https://segmentfault.com/a/1190000000654274
十分感谢作者
Unicode
为每个字符都提供了唯一的数值,不管是什么平台、什么程序或什么语言。开发unicode
是为了给处理世界上存在的所有字符提供统一的编码。
我们需要明白一点,js
内部将所有的数值表示为浮点值,因此,在 Js
中整数和浮点值没有差别。
Null 数据类型:可以通过给一个变量赋 null 值来清除变量的内容。 null -> object nan not a number
undefined
对象属性不存在,
声明了变量但从未赋值。
null = = undefined null !==undefined
堆内存存放引用值 object ,栈内存存放固定类型值 number string boolean。
对象:
<script type="text/javascript">
//对象是名/值对的集合
var browser = { //对象是由花括号括起来的
name:"Firefox",
kernel:"Gecko"
};
</script>
//通过点号(.)或“[]”来访问对象的属性
browser.name //"Firefox"
browser["kernel"] //"Gecko"
构造函数模式:
function Person(name,age){
this.name = name;
this.age = age;
}
var boy = new Person("小明",12);
var girl = new Person("小红",10);
alert(boy.name); //小明
alert(boy.age); //12
这时
boy
和
girl
会自动含有一个
constructor
属性,指向它们的构造函数。
alert(boy.constructor == Person); //true
alert(girl.constructor);
Prototype
模式 Javascript
规定,每一个构造函数都有一个prototype
属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。
这意味着,我们可以把那些不变的属性和方法,直接定义在prototype
对象上。
这时所有实例的type
属性和eat()
方法,其实都是同一个内存地址,指向prototype
对象,因此就提高了运行效率。
null 对象
js
给变量赋
null
值的作用在于:
赋值一个空指针,容易让人理解这个变量是准备用来存放对象的。也方便调错
几个常用的方法:
valueof()方法:返回指定对象的原始值 ?啥?
split() 方法将字符串分割为字符串数组,并返回此数组。
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。
join()方法用于把数组中的所有元素放入一个字符串。
arrayObject.join(分隔符)
reverse() 方法用于颠倒数组中元素的顺序。
slice() 方法可从已有的数组中返回选定的元素。
var list = [1, 2, 3, 4, 5, ...... 100000000];
for(var i = 0, l = list.length; i < l; i++) { //有助于提高性能(我猜的)
console.log(list[i]);
}