// 对象的应用解除 将对象变量置为null(在写插件多大型项目是不要忘记解除对象占用)
var object1 = new Object();
var object2 = object1;
// 对象object2 和 object1 引用同一个对象
object1.myCustomProperty = "Awersome!";
object1 = null;
console.log(object2.myCustomProperty); //Awersome!
// 创建对象
var Name = {
name : "boy",
sex:"nan",
ceshi:function(){
console.log(Name.sex);
}
}
console.log(Name.sex);
// 等价于
var Name = new Object();
Name.name = "boy";
Name.sex = "nv";
Name.ceshi = function(){
console.log(Name.sex);
}
Name.ceshi();
// 创建数组
var colors = ["red","blue","black"];
console.log(colors[]);
// 等价于
var colors = new Array("red","blue","blacks");
// 创建函数
function ref(value){
return console.log(value);
}
ref();
// 等价于 (js调试器不会识别)
var ref = new function("value","return value;");
// 访问属性 在 js 里面 . 和 [] 除了语法不一样其他大致相同
var arr = [];
arr.push("aaa");
console.log(arr);
// 等价于
arr["push"]("bbb"); //注意引号 可以使用特殊字符
console.log(arr);
// 动态访问属性
var arr1 = [];
var method = "push";
arr1[method]("ccc");
console.log(arr1);
// 判断对象引用类型
var fun1 = function(){};
var arr2 = [];
console.log(typeof arr2); //typeof 只能判断function类型;
console.log(arr2 instanceof Array) //instanceof还可以鉴定继承类型
console.log(arr2 instanceof Object)//所有的引用类型都是继承object
console.log(Array.isArray(arr2)) //当数组是在不同的框架传过来时,可以使用isArray()判断,instanceof失效
// 原始数据类型
var name1 = 'topOne';
name1.last = "aaa";
console.log(name1.last); // undefined