從零開始學習jQuery(劇場版) 你必須知道的javascript

來源:互聯網
上載者:User

一.摘要

本文是jQuery系列教程的劇場版, 即和jQuery這條主線無關, 主要介紹大家平時會忽略的一些javascript細節.適合希望鞏固javascript理論知識和基礎知識的開發人員閱讀.

二.前言

最近面試過一些人, 發現即使經驗豐富的開發人員, 對於一些基礎的理論和細節也常常會模糊. 寫本文是因為就我自己而言第一次學習下面的內容時發現自己確實有所收穫和感悟.其實我們容易忽視的javascript的細節還有更多, 本文僅是冰山一角. 希望大家都能通過本文有所斬獲.

三.Javascript物件導向

Javascript是一門物件導向的語言,雖然很多書上都有講解,但還是有很多初級開發人員不瞭解. 

建立對象

ps: 以前寫過一篇詳細的建立對象的文章(原型方法, Factory 方法等)但是找不到了, 回頭如果還能找到我再添加進來.下面僅僅簡單介紹.

在C#裡我們使用new關鍵字建立對象, 在javascript中也可以使用new關鍵字:

var objectA = new Object();

但是實際上"new"可以省略:

var objectA = Object();

但是我建議為了保持文法一直, 總是帶著new關鍵字聲明一個對象.

建立屬性並賦值

在javascript中屬性不需要聲明, 在賦值時即自動建立:

objectA.name = "my name";

訪問屬性

一般我們使用"."來分層次的訪問對象的屬性:

alert(objectA.name);

嵌套屬性

對象的屬性同樣可以是任何javascript對象:

var objectB = objectA;
objectB.other = objectA;
//此時下面三個值相當,並且改變其中任何一個值其餘兩個值都改變

objectA.name;
objectB.name;
objectB.other.name;

使用索引

如果objectA上有一個屬性名稱為"school.college", 那麼我們沒法通過"."訪問,因為"objectA.school.college"語句是指尋找objectA的school屬性對象的college屬性.

這種情況我們需要通過索引設定和訪問屬性:

objectA["school.college"] = "BITI";
alert(objectA["school.college"]);

下面幾個語句是等效的:

objectA["school.college"] = "BITI";
var key = "school.college"
alert(objectA["school.college"]);
alert(objectA["school" + "." + "college"]);
alert(objectA[key]);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.