为了账号安全,请及时绑定邮箱和手机立即绑定

还是没明白函数中:和=的区别

还是没明白函数中:和=的区别

慕先生4277178 2016-10-20 10:56:00
var Car=function(type){    var status="stop",//这里为什么不能用“:”        light="off";//这里为什么不能用“:”    return{    type:type,    start:function(){    status="driving";    light="on";    },    stop:function(){    status="stop";    light="off";    },    getStatus:function(){    console.log(type +" is "+ status +" with light "+ light );         }        }}var audi=new Car("audi");audi.start();audi.getStatus();//audi is driving with light onaudi.stop();audi.getStatus();//audi is stop with light off
查看完整描述

2 回答

已采纳
?
HiFrontend

TA贡献24条经验 获得超13个赞

= 是运算符

:是操作符

两回事

= 一般用于赋值

:一般用在字面量创建数组或对象时使用


而你给出的代码里

status="stop",

light="off";

这时是赋值,所以用 = 。

而下面return的是对象,对象中的是属性和方法。

这个对象就用的字面量方法来创建的,里面的属性和方法就需要用  : 来表示,如下:

type:type

如果不懂为什么对象里用 : ,那么建议去看一下对象的几种创建方式。


实在不能理解,就记住:

单个等于号 = ,就是用来创建变量用的

而 冒号 : 一般都是用在字面量创建数组或对象是会用到

查看完整回答
1 反对 回复 2016-10-20
?
Tobey_滔

TA贡献242条经验 获得超128个赞

简单理解吧!!

等号是赋值   比如var a = 1;

:是对应关系,一般用于键值数组对比如

var arr = {

    name:"Tobey",

    age:21,    

}

查看完整回答
反对 回复 2016-10-20
  • 2 回答
  • 0 关注
  • 1343 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信