1、JS对象数组
var obj = {};// 初始化一个JS对象
obj.test = function(options){ //添加方法
//TODO something
}
obj.a = 5;//添加属性函数
js原本就是动态的,它能够给任何对象在任什么时候候添加属性和方法测试
2、JS对象扩展spa
JS内置对象的原型不能总体覆盖,只能单独地动态地为原型添加属性或方法prototype
//不管arr放到那,Array.prototype.push的上面或下面均可以,push都能覆盖Array原型的原push方法 var arr=[]; //这就是动态 Array.prototype.push=function(){ alert("1"); } arr.push(); //此处提示“1”
3、JS基本数据类型对象
菜鸟教程:字符串(String)、数字(Number)、布尔(Boolean)、未定义(Undefined)、(函数)function (null-空、array-数组、date-日期、object-对象 等均为对象类型)。排序
JavaScript标准中规定了9种类型:Undefined 、Null 、Boolean、 String 、Number、 Object 、Reference 、List、 Completion
其中,Reference List Completion三种类型仅供语言解析运行时使用,没法从程序中直接访问。教程
1. Undefined类型:Undefined类型只有一个值undefined。
2. Null类型:Null类型也只有一个值null。Null类型的语义是“一个空的对象引用”。
3. Boolean类型:Boolean有两种取值true和false。
4. String类型:String类型的的正式解释是一个16位无符号整数类型的序列。
5. Number类型:JavaScript的Number共有18437736874454810627 (就是 264-253 +3)个值。JavaScript的6. Number以双精度浮点类型存储,除了9007199254740990表示NaN,它遵照IEEE 754(见附1)规定,占用64位8字节。
6. Object类型:JavaScript中最为复杂的类型就是Object,它是一系列属性的无序集合。ip
typeof操做符:对一个变量进行推断变量的类型,可能返回如下字符串:
1. "undefined" 若是这个值,未定义;
2. "boolean" 布尔值;
3. "string" 字符串;
4. "number" 数值;
5. "object" 对象(null,date,array,定义未初始化);
6. "function" 函数
使用方法:typeof 97 或 typeof(97);返回"number"字符串
四。JavaScript高级技术
function sortNumber(a,b){ console.log("sort:"+a+'---'+b); return a - b; } function sortChinese(a,b){ console.log("sort:"+a+'---'+b); return a.localeCompare(b); } var arrayNum = new Array(6); arrayNum[0] = "10"; arrayNum[1] = "5"; arrayNum[2] = "40"; arrayNum[3] = "25"; arrayNum[4] = "1000"; arrayNum[5] = "1"; console.log(arrayNum.sort()); // 英文排序有效 console.log(arrayNum.sort(sortNumber)); // 数字排序有效 console.log(arrayNum.sort(localeCompare)); // 中文排序无效(英文系统下测试无效)
The END .
JS Array 排序
var array=[{time:11111},{time:22222},{time:1484728285732},{time:10000},{time:111}]; array = array.sort(function(a,b){return a.time - b.time;}); console.log(JSON.stringify(array)); //[{"time":111},{"time":10000},{"time":11111},{"time":22222},{"time":1484728285732}]