对象的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 @   杨建鑫  阅读(240)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示

目录导航