对象的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

 

posted @ 2022-05-11 15:20  杨建鑫  阅读(252)  评论(0)    收藏  举报