var obj = new Object();
var obj2 = obj;
obj2.name = "jay";
obj.age = "18";
console.log(obj.name); // jay
console.log(obj.age); // 18
console.log(obj2.name); // jay
console.log(obj2.age); // 18
ECMAScript 中所有函数的参数都是按值传递的
instanceof操作符
检测变量是一个什么类型的对象,基本数据都不是对象,null是对象。
变量是给定引用类型的实例返回true。
语法: result = variable instanceof constructor
var person = new Object();
var colors = new Array();
var pattern = new RegExp();
console.log(person instanceof Object); // 变量person是Object吗? true
console.log(colors instanceof Array); // true
console.log(pattern instanceof RegExp); // true
function createPerson(name) {
var localPerson = new Object();
localPerson.name = name;
return localPerson;
}
var globalPerson = createPerson("Jay");
console.log(globalPerson.name); // Jay
// 手动解除globalPerson 的引用
function createPerson(name) {
var localPerson = new Object();
localPerson.name = name;
return localPerson;
}
var globalPerson = createPerson("Jay");
// console.log(globalPerson.name); // Jay
globalPerson = null;
console.log(globalPerson.name); // Uncaught TypeError: Cannot read property 'name' of null