JavaScript進階程式設計(第3版)學習筆記5 js語句

磚瓦和水泥都有了,接下來該是砌牆了,在ECMAScript中,語句就是我們需要砌的牆了。語句也和操作符一樣,對於有C背景的人來說再自然不過了,下面採用類似的形式整理一下語句的相關知識,重點突出一些ECMAScript中比較特別和個人認為比較有意思的地方,同樣,沒有強調的但比較基礎的語句並非不重要,而是我認為你已經熟悉。 語句一覽語句文法簡要描述簡單語句

JavaScript進階程式設計(第3版)學習筆記4 js運算子和操作符

在ECMAScript中,有非常豐富的運算子和操作符,在這篇文章中將按通常的分類來稍微整理一下,不過在整理之前,先說明一下:

JavaScript進階程式設計(第3版)學習筆記3 js單一資料型別

ECMAScript是一種動態類型的語言,構建於5種單一資料型別(Undefined、Null、Boolean、Number、String)和一種複雜資料類型(Object)的基礎之上。這篇文章就來複習一下單一資料型別,我會盡量從編程實踐的角度來描述,下面代碼運行環境為FireFox 14.0.1。

JavaScript進階程式設計(第3版)學習筆記2 js基礎文法

這一篇複習一下ECMAScript規範中的基礎文法,英文好的朋友可以直接閱讀官方文檔。JavaScript本質上也是一種類C語言,熟悉C語言的朋友,可以非常輕鬆的閱讀這篇文章,甚至都可以跳過,不過建議你最好還是看一看,在介紹的同時,我可能會引用一些自認為不易理解且比較流行的用法。 基礎文法1、標識符:所謂標識符,實際上就是指一個滿足一定規範,能夠被引擎識別的名字,可以用來表示常量、變數、函數名、函數參數、對象、對象屬性等所有可命名物件的名稱。(1)區分大小寫。(2)以字母、底線(_)或貨幣符號(

JavaScript進階程式設計(第3版)學習筆記10 再訪js對象

1、對象再認識(1)對象屬性和特性  什麼是屬性(Property),什麼是特性(Attribute),這有什麼區別?我不想也不會從語意學上去區分,對於這系列文章來說,屬性就是組成對象的一個部分,廣義上也包括對象的方法,而特性則是指被描述主體所具有的特徵,換句話說,屬性是我們可以通過編碼來訪問的具體存在,而特性則主要是為了便於理解概念的抽象存在,當然,特性也可以通過相應的屬性來具體外化。這一小節所講的對象屬性的特性就是對對象屬性特徵的一個描述,主要來自於ECMA-262規範的第5版,該規範使用兩

JavaScript進階程式設計(第3版)學習筆記9 js函數(下)

再接著看函數——具有魔幻色彩的對象。 9、作為值的函數   在一般的程式設計語言中,如果要將函數作為值來使用,需要使用類似函數指標或者代理的方式來實現,但是在ECMAScript中,函數是一種對象,擁有一般對象具有的所有特徵,除了函數可以有自己的屬性和方法外,還可以做為一個參考型別的值去使用,實際上我們前面的例子中已經有過將函數作為一個對象屬性的值,又比如函數也可以作為另一個函數的參數或者傳回值,非同步處理中的回呼函數就是一個典型的用法。 複製代碼 代碼如下:var name =

JavaScript進階程式設計(第3版)學習筆記8 js函數(中)

6、執行環境和範圍 (1)執行環境(execution context):所有的JavaScript代碼都運行在一個執行環境中,當控制權轉移至JavaScript的可執行代碼時,就進入了一個執行環境。活動的執行環境從邏輯上形成了一個棧,全域執行環境永遠是這個棧的棧底元素,棧頂元素就是當前正在啟動並執行執行環境。每一個函數都有自己的執行環境,當執行流進入一個函數時,會將這個函數的執行環境壓入棧頂,函數執行完之後再將這個執行環境彈出,控制權返回給之前的執行環境。 (2)變數對象(variable

javascript測試題練習代碼

1、給你一個字串,要你找出裡面出現次數最多的字母和出現的次數,例如:“abaasdffggghhjjkkgfddsssss”; 複製代碼 代碼如下:var str = "abaasdffggghhjjkkgfddsssss"; var arr = new Array(); var i = 0; while (str.charAt(0)) { arr[i] = str.charAt(0) + "=" + (str.split(str.charAt(0)).length - 1); str =

JavaScript進階程式設計(第3版)學習筆記6 初識js對象

在房子裡面可以放你想放的任意事物——如果你有足夠的美學造詣,你甚至可以弄一個房中房試試——當然,為了方便管理,我們會給房子裡存放的所有事物都會取上一個不重複的名字,比如醫藥房間裡的各種藥品名稱。在ECMAScript中,你可以在對象中存放任意你想放的資料,同樣,我們需要給存放的資料取一個名字——也就是對象的屬性名稱,再存放各種資料。再看看ECMA-262中對象的定義:無序屬性的集合,其屬性可以包含單一資料型別值、對象或者函數。

js自動閉合html標籤(自動補全html標記)

複製代碼 代碼如下:<script type="text/javascript"> // Close HTML Tags -------------------------------------------- function closeHTML(str){ var arrTags=["span","font","b","u","i","h1","h2","h3","h4","h5","h6","p","li","ul","table","div"]; for(var i=0;i&

Javascript操作cookie的函數代碼

javascript操作cookie簡單版本 複製代碼 代碼如下:function setCookie(name, value, iDay) { var oDate = new Date(); oDate.setDate(oDate.getDate() + iDay); document.cookie = name+'='+value+';expires='+oDate; } function getCookie(name) { var arr = document.cookie.split('

實現網頁內容水平或垂直滾動的Javascript代碼

主要兩個部分,一、是滾動內容部分;二、JS的滾動代碼部分,也只有兩句話。 一、傳統的滾動代碼 用Javascript實現新聞內容的水平滾動![Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]傳統的滾動代碼應用效果比較單一,而且經常還存在瀏覽器的相容性問題,比如在FIREFOX上效果就會出現marquee的特效無效的問題。 二、Javascript實現的滾動效果 用Javascript實現新聞內容的水平滾動1//div標籤中的寬度width等參數可以自行調節[Ctrl+A 全選

JavaScript模板入門介紹

比如要在一個列表中利用ajax插入一個li的時候,我會直接把資料跟html標籤拼接成一句完整的html,然後插入到ul中。無論資料是從伺服器端拿回的,或者是從使用者的input輸入中拿到的——無論哪種方法都是一樣。

JavaScript快速檢測瀏覽器對CSS3特性的支援情況

在項目中需要快速檢測瀏覽器是否支援某CSS3特性,比如檢測是否支援“transform”,然後我的布局會有兩種完全不同的版式。當然除開本文介紹的這種快速方法,還有一種更有名和更通用的方法,那就是modernizr,運行指令碼之後它會在html的class上加上瀏覽器支援的所有特性的列表。優點:js是可配置的,不需要的特性檢測可以在配置指令碼中去掉基於特性檢測js庫簡單好用除此之外還有一種不太好的方法,那就是判斷瀏覽器的UA,不好的原因是UA可能會偽造,而且版本判斷繁瑣,還有不穩定。優點:效能可能

js 手機號碼合法性驗證代碼集合

第一個代碼:複製代碼 代碼如下:function Checkreg() { //驗證電話號碼手機號碼,包含153,159號段 if (document.form.phone.value=="" && document.form.UserMobile.value==""){ alert("電話號碼和手機號碼至少選填一個阿!"); document.form.phone.focus(); return false; } if (document.form.phone.value !=

javascript動畫對象支援加速、減速、緩入、緩出的實現代碼

調用介面: 複製代碼 代碼如下:/** * @param elem {HTMLElement} 執行動畫的HTML元素 * @param params {JSON} 動畫執行過過程中需要修改的HTML 屬性 * @param duration {Number} 可選,動畫執行時間,單位毫秒 * @param easing {String} 可選,動畫執行的方式,緩入easeIn、緩出easeOut * @param callback {Function} 可選,動畫執行完成時的回呼函數 *

JavaScript NaN和Infinity特殊值 [譯]

1.NaN 在JavaScript中,NaN代表了“not a number”.主要在解析字串出現錯誤時會返回這個值: 複製代碼 代碼如下:> Number("xyz") NaNNaN 的名字是“not a number”,不過也可以說是not not a number: 複製代碼 代碼如下:> NaN !== NaN true 它是一個數字!類型為"number" 複製代碼 代碼如下:> typeof NaN 'number' 1.1 檢測NaN

JavaScript 更嚴格的相等 [譯]

1.檢測NaN 在數學上,任意值x總是與自己相等: x = x 但這條規則並不適用於 === 和 NaN: 複製代碼 代碼如下:> NaN === NaN false 導致的結果就是,你不能通過使用indexOf方法在一個包含了NaN的數組中找到這個NaN,因為該方法在內部是使用了===來判斷一個元素是否和參數中指定的值相等的: 複製代碼 代碼如下:> [ NaN ].indexOf(NaN) -1 譯者注:switch語句同理 複製代碼 代碼如下:switch (NaN) {

JavaScript 反科裡化 this [譯]

本文主要講了JavaScript中科裡化和反科裡化this的方法.話題來自於Brendan Eich(JavaScript之父)的一個tweet.1.反科裡化(Uncurrying)this 反科裡化this的意思是:把一個簽名如下的方法: obj.foo(arg1, arg2)轉換成另外一個簽名如下的函數: foo(obj, arg1, arg2)想要知道這麼做有什麼用,我們首先得瞭解一下通用方法. 2.通用方法(Generic methods)

JavaScript中將一個值轉換為字串的方法分析[譯]

譯者注:前兩天在看ES5的時候順便出了一道題,今天看到這篇文章,剛好解釋的很清楚,就翻譯了一下.在JavaScript中,主要有三種方法能讓任意值轉換為字串.本文講解了每種方法以及各自的優缺點.1.轉換字串的三種方法 這三種將value轉換為字串的方法是: 1.value.toString() 2."" + value 3.String(value) 第一種方法存在的問題是,它不能把null和undefined轉換為字串.還有第二種和第三種方法,這兩種方法的效果基本一樣. •""+value:

總頁數: 3271 1 .... 277 278 279 280 281 .... 3271 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.