慕先生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條經(jīng)驗 獲得超13個贊
= 是運算符
:是操作符
兩回事
= 一般用于賦值
:一般用在字面量創(chuàng)建數(shù)組或?qū)ο髸r使用
而你給出的代碼里
status="stop",
light="off";
這時是賦值,所以用 = 。
而下面return的是對象,對象中的是屬性和方法。
這個對象就用的字面量方法來創(chuàng)建的,里面的屬性和方法就需要用 ?: 來表示,如下:
type:type
如果不懂為什么對象里用 : ,那么建議去看一下對象的幾種創(chuàng)建方式。
實在不能理解,就記?。?/p>
單個等于號 = ,就是用來創(chuàng)建變量用的
而 冒號 : 一般都是用在字面量創(chuàng)建數(shù)組或?qū)ο笫菚玫?/p>

Tobey_滔
TA貢獻242條經(jīng)驗 獲得超128個贊
簡單理解吧!!
等號是賦值 ? 比如var a = 1;
:是對應(yīng)關(guān)系,一般用于鍵值數(shù)組對比如
var arr = {
????name:"Tobey",
????age:21, ? ?
}
添加回答
舉報
0/150
提交
取消