对象的key永远是字符串类型
对象的key永远是字符串类型
var m = [1,2,3]; var obj = { a:1, b:2, c:3, '张三':4 } obj[m] = 12313213213213211; //对象的key永远是字符串类型 for( var k in obj ){ console.log(typeof k ); string }
例子
var a = {} var b = {'key':'a'}; var o = {'key':'c'}; a[b] = '123'; a[o] = '456'; console.log(a[b]) => 456 因为对象的key永远是字符串类型 所以 console.log(String(b)) ==>[object Object] console.log(String(o)) ==>[object Object] var m = [1,2,3]; var o = [4,5,6]; var obj = { a:1, b:2, c:3, '张三':4 } obj[m] = '123'; obj[o] = '456'; console.log(obj[m]) ==>123 因为对象的key永远是字符串 所以 console.log(String(m)) ==>1,2,3 console.log(String(o)) ==>4,5,6
例子:
function Fun(){ console.log( 1111 ); return 'aaaa'; } console.log( new Fun() ); 1. 执行函数 2. 返回的是对象 或者 new 对象[return是引用类型,就返回改引用对象] console.log( Fun ); 打印的是函数体,函数代码不会执行 Fun(){ console.log( 1111 ); return 'aaaa'; } console.log( Fun() ); 1. 执行函数1111 2. Fun() == return的值 aaaa
例子:
function Foo(){ getName = function(){ console.log( 1 ) }; return this; } Foo.getName = function(){ console.log( 2 ) }; Foo.prototype.getName = function(){ console.log( 3 ) }; var getName = function(){ console.log( 4 ) }; function getName(){ console.log( 5 ); } Foo.getName(); //2 getName(); //4 Foo().getName(); //1 getName(); //1 new Foo().getName(); //3
本文来自博客园,作者:杨建鑫,转载请注明原文链接:https://www.cnblogs.com/qd-lbxx/p/16258082.html

浙公网安备 33010602011771号