目錄
回覆內容:
首頁 後端開發 php教程 javascript - 請問JS函數中[]的意思是什麼?

javascript - 請問JS函數中[]的意思是什麼?

Aug 25, 2016 am 10:37 AM
css html html5 javascript php

<code>function returnfunc (propertyName) {
  return function (obj) {             //-----这行定义并返回了一个闭包,也被称之为一个匿名函数
    return obj[propertyName];         //这里用方括号法访问属性,因为属性是变量(returnfunc()函数的参数)
  };
}

var savefunc = returnfunc("name");     //调用returnfunc()
var result = savefunc({name:"Picasso"});//调用savefunc()
alert(result);                        //返回字符串“Picasso”
</code>
登入後複製
登入後複製

請問savefunc({name:"Picasso"})中的name:"Picasso"

回覆內容:

<code>function returnfunc (propertyName) {
  return function (obj) {             //-----这行定义并返回了一个闭包,也被称之为一个匿名函数
    return obj[propertyName];         //这里用方括号法访问属性,因为属性是变量(returnfunc()函数的参数)
  };
}

var savefunc = returnfunc("name");     //调用returnfunc()
var result = savefunc({name:"Picasso"});//调用savefunc()
alert(result);                        //返回字符串“Picasso”
</code>
登入後複製
登入後複製

請問savefunc({name:"Picasso"})中的name:"Picasso"

帶點的,跟帶[]都是表示物件的屬性表示方式,只是後者裡面放的是字串,注意是字串。
首先 執行之後 產生了個變數 var propertyName = "name";
然後:

<code>var savrfunc = function(obj){
    return obj[propertyName];
}
</code>
登入後複製

接著執行了上面的函數 並把回傳值回傳給了 result;
裡面的 執行效果就相當於:

<code>var obj = {name:"Picasso"};
return obj[propertyName]//上面 已经有这个变了 值是name ;所以就是返回了 obj.name ,相当于把 Picasso给返回出去了。
</code>
登入後複製

和.作用一樣,用法不同

<code>var text ='prop';
var obj = {
  prop:123
};
obj.prop//123
obj.text//undefined
obj[text]//123</code>
登入後複製

propertyName是屬性名稱吧,person[propertyName]就是person['name']

return obj[propertyName]; //這裡用方括號法存取屬性,因為屬性是變數(returnfunc()函數的請輸入程式碼參數)

你的註解裡面都寫明了。
物件的屬性有兩種存取的方式:

  1. obj.attr的形式,書寫簡單

  2. obj[attr]的形式,屬性名稱可以是變數的形式

.和[]都可以存取物件

javascript - 請問JS函數中[]的意思是什麼?
javascript - 請問JS函數中[]的意思是什麼?

出處:《JavaScript 標準參考教學(alpha)》,by 阮一峰

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

解決 Craft CMS 中的緩存問題:使用 wiejeben/craft-laravel-mix 插件 解決 Craft CMS 中的緩存問題:使用 wiejeben/craft-laravel-mix 插件 Apr 18, 2025 am 09:24 AM

在使用CraftCMS開發網站時,常常會遇到資源文件緩存的問題,特別是當你頻繁更新CSS和JavaScript文件時,舊版本的文件可能仍然被瀏覽器緩存,導致用戶無法及時看到最新的更改。這個問題不僅影響用戶體驗,還會增加開發和調試的難度。最近,我在項目中遇到了類似的困擾,經過一番探索,我找到了wiejeben/craft-laravel-mix這個插件,它完美地解決了我的緩存問題。

繼續使用PHP:耐力的原因 繼續使用PHP:耐力的原因 Apr 19, 2025 am 12:23 AM

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

使用與HTML的React:渲染組件和數據 使用與HTML的React:渲染組件和數據 Apr 19, 2025 am 12:19 AM

在React中使用HTML渲染組件和數據可以通過以下步驟實現:使用JSX語法:React使用JSX語法將HTML結構嵌入JavaScript代碼中,編譯後操作DOM。組件與HTML結合:React組件通過props傳遞數據,動態生成HTML內容,如。數據流管理:React的數據流是單向的,從父組件傳遞到子組件,確保數據流動可控,如App組件傳遞name到Greeting。基本用法示例:使用map函數渲染列表,需添加key屬性,如渲染水果列表。高級用法示例:使用useState鉤子管理狀態,實現動

laravel8 的優化點 laravel8 的優化點 Apr 18, 2025 pm 12:24 PM

Laravel 8 針對性能優化提供了以下選項:緩存配置:使用 Redis 緩存驅動、緩存門面、緩存視圖和頁面片段。數據庫優化:建立索引、使用查詢範圍、使用 Eloquent 關係。 JavaScript 和 CSS 優化:使用版本控制、合併和縮小資產、使用 CDN。代碼優化:使用 Composer 安裝包、使用 Laravel 助手函數、遵循 PSR 標準。監控和分析:使用 Laravel Scout、使用 Telescope、監控應用程序指標。

HTML與CSS和JavaScript:比較Web技術 HTML與CSS和JavaScript:比較Web技術 Apr 23, 2025 am 12:05 AM

HTML、CSS和JavaScript是構建現代網頁的核心技術:1.HTML定義網頁結構,2.CSS負責網頁外觀,3.JavaScript提供網頁動態和交互性,它們共同作用,打造出用戶體驗良好的網站。

如何利用 Composer 簡化 CMS 開發:Lebenlabs/SimpleCMS 庫的實踐應用 如何利用 Composer 簡化 CMS 開發:Lebenlabs/SimpleCMS 庫的實踐應用 Apr 18, 2025 am 09:45 AM

在開發一個新的內容管理系統(CMS)時,我遇到了一個常見但棘手的問題:如何在不增加過多複雜性的情況下,快速搭建一個功能齊全的CMS。市面上有許多現成的CMS解決方案,但它們通常過於龐大,配置複雜,對於小型項目來說可能是一種負擔。經過一番探索,我發現了lebenlabs/simplecms這個庫,它通過Composer提供了一種簡潔而高效的解決方案。

2025幣圈交易所哪些安全性比較好? 2025幣圈交易所哪些安全性比較好? Apr 20, 2025 pm 06:09 PM

2025年幣圈十大安全靠譜交易所包括:1. 幣安(Binance),2. OKX(歐易),3. Gate.io(芝麻開門),4. Coinbase,5. Kraken,6. Huobi Global(火幣),7. Gemini,8. Crypto.com,9. Bitfinex,10. KuCoin(庫幣)。這些交易所基於合規性、技術實力與用戶反饋被評為安全靠譜。

See all articles