亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
使用「物件文字」建立 Object() 物件
結論
首頁 CMS教程 &#&按 重新表達的標題為:The Concept of Object()

重新表達的標題為:The Concept of Object()

Sep 03, 2023 pm 11:49 PM

重新表達的標題為:The Concept of Object()

使用內建的 Object() 建構函數,我們可以動態(tài)建立通用的空物件。事實上,如果你還記得第一章的開頭,這正是我們透過創(chuàng)建 cody 物件所做的事情。讓我們重新建立 cody 物件。

#範例:sample69.html

<!DOCTYPE html><html lang="en"><body><script>

	var cody = new Object(); // Create an empty object with no properties.

	for (key in cody) { // Confirm that cody is an empty generic object.
		if (cody.hasOwnProperty(key)) {
			console.log(key); // Should not see any logs, because cody itself has no properties.
		}
	}

</script></body></html>

在這裡,我們所做的就是使用 Object() 建構子來建立一個名為 cody 的通用物件。您可以將 Object() 建構子視為千篇一律的工具,用於建立沒有預先定義屬性或方法的空物件(當然,從原型鏈繼承的物件除外)。

如果不是很明顯,Object() 建構子本身就是一個物件。也就是說,建構函數是基於從 Function 建構函數所建立的物件。這可能會令人困惑。請記住,與 Array 建構子一樣,Object 建構子只是吐出空白物件。是的,您可以建立您喜歡的所有空物件。但是,創(chuàng)建像 cody 這樣的空物件與使用預定義屬性建立自己的建構函數有很大不同。確保您了解 cody 只是一個基於 Object() 建構函數的空物件。要真正利用JavaScript 的力量,您不僅需要學習如何從Object() 建立空物件容器,還需要學習如何建立自己的物件「類別」(Person()) ,例如Object() 建構子本身。


Object() 參數

Object() 建構子採用一個可選參數。此參數是您想要建立的值。如果您未提供任何參數,則將假定 nullundefined 值。

範例:sample70.html

<!DOCTYPE html><html lang="en"><body><script>

	// Create an empty object with no properties.
	var cody1 = new Object();
	var cody2 = new Object(undefined);
	var cody3 = new Object(null);

	console.log(typeof cody1, typeof cody2, typeof cody3); // Logs 'object object object'.

</script></body></html>

如果將 nullundefined 以外的值傳遞給 Object 建構函數,則傳遞的值將會建立為物件。因此理論上,我們可以使用 Object() 建構子來建立任何其他具有建構函式的本機物件。在下一個範例中,我就是這麼做的。

範例:sample71.html

<!DOCTYPE html><html lang="en"><body><script>

	/* Use the Object() constructor to create string, number, array, function, Boolean, and regex objects. */

	// The following logs confirm object creation.
	console.log(new Object('foo'));
	console.log(new Object(1));
	console.log(new Object([]));
	console.log(new Object(function () { }));
	console.log(new Object(true));
	console.log(new Object(/\bt[a-z]+\b/));

	/* Creating string, number, array, function, Boolean, and regex object instances via the Object() constructor is really never done. I am just demonstrating that it can be done. */

</script></body></html>

Object() 屬性與方法

Object() 物件具有以下屬性(不包括繼承的屬性和方法):

屬性(Object.prototype;):

  • 原型

Object() 實例屬性與方法

Object()物件實例具有下列屬性和方法(不包含繼承的屬性和方法):

實例屬性 (var myObject = {}; myObject.constructor;):

  • 建構子

實例方法 (var myObject = {}; myObject.toString();):

  • hasOwnProperty()
  • isPrototypeOf()
  • propertyIsEnumerable()
  • #toLocaleString()
  • toString()
  • #valueOf()

原型鏈以Object.prototype結尾,因此Object()的所有屬性和方法都會被所有JavaScript物件繼承。


使用「物件文字」建立 Object() 物件

建立「物件文字」需要使用大括號實例化有或沒有屬性的物件(var cody = {};)。還記得在第一章開始時我們創(chuàng)建了一次性 cody 對象,然後使用點表示法賦予 cody 對象屬性嗎?讓我們再做一次。

範例:sample72.html

<!DOCTYPE html><html lang="en"><body><script>

	var cody = new Object();
	cody.living = true;
	cody.age = 33;
	cody.gender = 'male';
	cody.getGender = function () { return cody.gender; };

	console.log(cody); // Logs cody object and properties.

</script></body></html>

請注意,程式碼中建立 cody 物件及其屬性需要五個語句。使用物件文字表示法,我們可以在一條語句中表達相同的 cody 物件。

範例:sample73.html

<!DOCTYPE html><html lang="en"><body><script>

	var cody = {
		living: true,
		age: 23,
		gender: 'male',
		getGender: function () { return cody.gender; }
	};
	// Notice the last property has no comma after it.

	console.log(cody); // Logs the cody object and its properties.

</script>
</body>

使用文字表示法使我們能夠使用更少的程式碼建立物件(包括定義的屬性)並直觀地封裝相關資料。請注意在單一語句中使用 :, 運算子。由於其簡潔性和可讀性,這實際上是在 JavaScript 中建立物件的首選語法。

您應該知道屬性名稱也可以指定為字串:

範例:sample74.html

<!DOCTYPE html><html lang="en"><body><script>

	var cody = {
		'living': true,
		'age': 23,
		'gender': 'male',
		'getGender': function () { return cody.gender; }
	};

	console.log(cody); // Logs the cody object and its properties.

</script>
</body>

沒有必要將屬性指定為字串,除非屬性名稱:

  • 是保留關鍵字之一(class)。
  • 包含空格或特殊字元(數字、字母、美元符號 ($) 或底線 (_) 字元以外的任何字元)。
  • 以數字開頭。

小心!物件的最後一個屬性不應有尾隨逗號。這會在某些 JavaScript 環(huán)境中導致錯誤。


所有物件繼承自Object.prototype

JavaScript中的Object()建構子比較特殊,因為它的prototype屬性是原型鏈中的最後一站。

在以下示例中,我使用 foo 屬性擴充 Object.prototype,然后創(chuàng)建一個字符串并嘗試訪問 foo 屬性,就好像它是字符串實例的屬性一樣。由于 myString 實例沒有 foo 屬性,因此原型鏈啟動并在 String.prototype 中查找值。它不在那里,所以下一個要查找的位置是 Object.prototype,這是 JavaScript 查找對象值的最終位置。找到了 foo 值,因為我添加了它,因此它返回 foo 的值。

示例:sample75.html

<!DOCTYPE html><html lang="en"><body><script>

	Object.prototype.foo = 'foo';

	var myString = 'bar';


	// Logs 'foo', being found at Object.prototype.foo via the prototype chain.
	console.log(myString.foo);

</script>
</body>

結論

小心!添加到 Object.prototype 的任何內容都將顯示在 for in 循環(huán)和原型鏈中。因此,據說禁止更改 Object.prototype 。

以上是重新表達的標題為:The Concept of Object()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何恢復WordPress核心更新 如何恢復WordPress核心更新 Jul 02, 2025 am 12:05 AM

要回滾WordPress版本,可使用插件或手動替換核心文件,並禁用自動更新。 1.使用WPDowngrade等插件輸入目標版本號即可自動下載替換;2.手動下載舊版WordPress並通過FTP替換wp-includes、wp-admin等文件但保留wp-config.php和wp-content;3.在wp-config.php中添加代碼或使用過濾器禁用核心自動更新以防止再次升級。操作前務必備份網站和數據庫,確保安全可靠。長期建議保持最新版以保障安全性與功能支持。

如何在WordPress中創(chuàng)建自定義短代碼 如何在WordPress中創(chuàng)建自定義短代碼 Jul 02, 2025 am 12:21 AM

在WordPress中創(chuàng)建自定義短代碼的步驟如下:1.通過functions.php文件或自定義插件編寫PHP函數;2.使用add_shortcode()將函數綁定到短代碼標籤;3.在函數中處理參數並返回輸出內容。例如,創(chuàng)建按鈕短代碼時可定義顏色和鏈接參數,實現靈活配置。使用時可在編輯器中插入類似[buttoncolor="red"url="https://example.com"]點擊這裡[/button]的標籤,並可通過do_shortcode()在模

如何診斷WordPress引起的高CPU使用 如何診斷WordPress引起的高CPU使用 Jul 06, 2025 am 12:08 AM

WordPress導致服務器CPU使用率飆升的主要原因包括插件問題、數據庫查詢效率低、主題代碼質量差或流量激增。 1.首先通過top、htop或控制面板工具確認是否為WordPress引起的高負載;2.進入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況並刪除或替換低效插件;3.安裝緩存插件、清理冗餘數據、分析慢查詢日誌以優(yōu)化數據庫;4.檢查主題是否存在過度加載內容、複雜查詢或缺乏緩存機制等問題,建議用標準主題測試對比並優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位並解

如何在沒有插件的情況下優(yōu)化WordPress 如何在沒有插件的情況下優(yōu)化WordPress Jul 05, 2025 am 12:01 AM

優(yōu)化WordPress站點不依賴插件的方法包括:1.使用輕量級主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動壓縮和合併CSS、JS文件,減少HTTP請求;3.上傳前優(yōu)化圖片,使用WebP格式並控製文件大??;4.配置.htaccess啟用瀏覽器緩存,並接入CDN提升靜態(tài)資源加載速度;5.限製文章修訂版本並定期清理數據庫冗餘數據。

如何在WordPress中縮小JavaScript文件 如何在WordPress中縮小JavaScript文件 Jul 07, 2025 am 01:11 AM

MinifyingJavaScript文件可通過刪除空白、註釋和無用代碼來提升WordPress網站加載速度。 1.使用支持合併壓縮的緩存插件如W3TotalCache,在“Minify”選項中啟用並選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細控制;3.手動壓縮JS文件並通過FTP上傳,適用於熟悉開發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能衝突,啟用後需徹底測試網站功能。

如何使用瞬態(tài)API進行緩存 如何使用瞬態(tài)API進行緩存 Jul 05, 2025 am 12:05 AM

TransientsAPI是WordPress中用於臨時存儲可自動過期數據的內置工具,其核心函數為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設置生存時間(TTL),適合緩存API請求結果、複雜計算數據等場景。使用時需注意key命名唯一性與命名空間、緩存“懶刪除”機制及對象緩存環(huán)境下可能不持久的問題。典型應用場景包括減少外部請求頻率、控制代碼執(zhí)行節(jié)奏和提升頁面加載性能。

如何使用對象緩存進行持續(xù)存儲 如何使用對象緩存進行持續(xù)存儲 Jul 03, 2025 am 12:23 AM

對象緩存可輔助持久存儲,適用於高訪問低更新、可容忍短暫丟失的數據。 1.適合用緩存“持久化”的數據包括用戶配置、熱門商品信息等,能從數據庫恢復但使用緩存可加速訪問。 2.選擇Redis等支持持久化的緩存後端,啟用RDB或AOF模式,並配置合理過期策略,但不能替代主數據庫。 3.設置長TTL或永不過期鍵,採用清晰鍵名結構如user:1001:profile,修改數據時同步更新緩存。 4.可結合本地與分佈式緩存,本地存小數據、Redis存大數據並用於重啟後恢復,同時注意一致性與資源佔用問題。

如何以編程方式防止評論垃圾郵件 如何以編程方式防止評論垃圾郵件 Jul 08, 2025 am 12:04 AM

防止評論垃圾信息最有效的方式是通過程序化手段自動識別並攔截。 1.使用驗證碼機制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機器人,尤其適合公眾網站;2.設置隱藏字段(Honeypot技術),利用機器人自動填寫特性識別垃圾評論,不影響用戶體驗;3.檢查評論內容關鍵詞黑名單,通過敏感詞匹配過濾垃圾信息,需注意避免誤判;4.判斷評論頻率與來源IP,限制單位時間內的提交次數並建立黑名單;5.使用第三方反垃圾服務(如Akismet、Cloudflare)提升識別準確性??筛鶕W站

See all articles