亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript對象聲明方式不同,打印結果也不一樣

javascript對象聲明方式不同,打印結果也不一樣

翻過高山走不出你 2018-09-05 13:22:02
第一種寫法var stone={    weight:100}// function stone() {//     this.weight=100;// }function Bench() {    this.legth=100;    this.width=50;    this.weight=60;}Bench.prototype=stone;var b=new Bench();console.log(b);console.log(Object.getPrototypeOf(b));結果:第二種寫法:function stone() {    this.weight=100; }function Bench() {    this.legth=100;    this.width=50;    this.weight=60; } Bench.prototype=new stone;var b=new Bench();console.log(b);console.log(Object.getPrototypeOf(b));為什么會這樣,第二種前面會帶stone??
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

我在chrome運行的結果和你的不一樣……

  1. 第一種的運行結果

    Bench {legth: 100, width: 50, weight: 60}Object {weight: 100}
  2. 第二種運行結果

    Bench {legth: 100, width: 50, weight: 60}stone {weight: 100}

這之中的區別很簡單啊,console.log對象的時候,前面那串就是它構造函數的名字,第一種代碼里面,stone對象使用對象直接量創建的,構造函數當然是Object;然而在第二種代碼里面,stone成了個構造函數,打印它的實例,前面顯示的當然是它這個構造函數的名字。


查看完整回答
反對 回復 2018-10-09
  • 1 回答
  • 0 關注
  • 547 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號