在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 請問js解構賦值中,()與{}有什么區(qū)別呢?

請問js解構賦值中,()與{}有什么區(qū)別呢?

 <script type="text/javascript">
    function demo(name = "張三", age = 30) {
               //這里可以用()也可以function demo({name = "張三", age = 30})

        console.log("姓名:" + name);

        console.log("nianl:" + age);
    }

    demo();
    </script>

如代碼中注釋那樣,加花括號和不加都沒問題。只是加花括號后面調用也需要加{} , 那么()與{}有啥區(qū)別呀請問?

回答
編輯回答
舊顏

clipboard.png

然而并不可以。。。。

2018年1月15日 11:04
編輯回答
黑與白

{}用于傳入對象,對象里面可以包含多個屬性或者方法

2017年6月22日 15:12
編輯回答
久不遇

加{}就是對象字面量,而不加就是函數的兩個形參。換句話說,函數參數個數和類型的區(qū)別。

2018年4月14日 00:55
編輯回答
疚幼

區(qū)別就是參數的()有序和{}無序吧,{}必傳一個空對象

2017年8月5日 21:51
編輯回答
離夢

簡單理解:解構賦值的意思是對應的位置,對應的 key 自動賦值。

使用 () 還是 {},要看你定義的函數的參數是什么樣的,具體看下面的例子。


第一種:當函數的參數是一個對象時,需要使用 {}。這樣在函數里面能通過參數的相同的 key 獲取到參數對象里的 key 對應的值。

function demo({name, age}) {
  console.log(`姓名:${name}`)
  console.log(`年齡:${age}`)
}
demo({
  name: '張三',
  age: 24
})

第二種:當函數里的參數是多個時,這個時候用 ()。其實,這個不是結構賦值,真的只是 ES5 里的形參而已,只不過你的代碼里用到了 ES6 中的參數默認值設置而已

function demo(name = "張三", age = 30) {
  console.log("姓名:" + name);
  console.log("nianl:" + age);
}

demo();
2017年5月10日 08:31
編輯回答
北城荒

花括號要這樣調用的 demo({});解構賦值你的結構要一致

2017年9月21日 23:40
編輯回答
陌上花
function demo(name = "張三", age = 30)//這是傳入兩個參數,然后設置默認值
function demo({name = "張三", age = 30})//這是傳入一個對象,然后對對象解構
2018年1月20日 13:18
編輯回答
落殤
function demo({name, age} = {name: "張三", age: 30}) {

    console.log("姓名:" + name);

    console.log("nianl:" + age);
}

demo();

這樣是可以的,這里等號應該是賦默認值的意思吧

2018年6月25日 05:07