javascript for迴圈從入門到偏門(效率最佳化+奇特用法)

一,for迴圈的基本寫法 代碼如下: 複製代碼 代碼如下://例一for(var i=1;i<=10;i++) { alert(i); } 這段代碼太簡單了,我都不好意思拿出手。代碼的執行結果是依次彈出1到10,PS:在早期的IE如IE6中,你把10改成10000,就能讓使用者一直點確定什麼也不能幹了哈哈——不要說是我出的主意。 由於這是一篇基礎課程,所以我們迴歸正題來詳細分析一下這段代碼吧。 for迴圈的結構都是類似的,任意一個for迴圈都是這樣的:

javascript 相容所有瀏覽器的DOM擴充功能

今天周五,很閑,坐在電腦前沒什麼事可做,產品線的人也沒提什麼新的需求,可能下周會有新的需求和工作安排,但那是下周的事了。今天就想寫點技術的東西,也就當作是記記筆記,本人水平有限,希望大家多多指教,嘴下留情,哈哈。  有時候我們會想擴充DOM元素的功能,可以添加一些自訂的方法,以讓它用起來更加靈活、方便;先來舉個例子:複製代碼 代碼如下:<!DOCTYPE html><html lang="zh"> <head>

別了 JavaScript中的isXX系列

複製代碼 代碼如下:isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString: function(a){ return typeof a === 'string'; }, isBoolean: function(a){ return

關於JavaScript中原型繼承中的一點思考

我們先看一段傳統的繼承代碼: 複製代碼 代碼如下://定義超類 function Father(){ this.name = "父親"; } Father.prototype.theSuperValue = ["NO1","NO2"]; //定義子類 function Child(){ } //實現繼承 Child.prototype = new Father(); //修改共用數組 Child.prototype.theSuperValue.push("修改"); //建立子類執行個體

javascript小工具 原生table排序表格指令碼(相容ie firefox opera chrome)

首先建立html頁面為sort.html ,並把下面的內容複寫進去 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta

JavaScript中的私人/靜態屬性介紹

•類比塊級範圍 大家都知道在JavaScript中沒有塊級範圍的概念,我們可以通過使用閉包來類比實現塊級範圍,看下面的樣本: 複製代碼 代碼如下:(function () { for (var i = 0; i < 10; i++) { //Do Nothing } alert(i); //輸出10 })(); 第6行可以訪問到for迴圈塊中的變數i,如果我們稍微修改以上代碼,把for迴圈塊放置在閉包中,情況就不一樣了: 複製代碼 代碼如下:(function () {

淺談javascript的原型繼承

請看源碼: 複製代碼 代碼如下:function clone(o) { var F = function(){}; F.prototype = o; return new F(); } 首先看ext(4.1的1896行開始)的原型式繼承。 複製代碼 代碼如下:var TemplateClass = function(){}; var ExtObject = Ext.Object = { chain: function (object) { TemplateClass.prototype =

13 個JavaScript 效能提升技巧分享

Daniel Clifford 在 Google I/O 2012 上做了一個精彩的演講“Breaking the JavaScript Speed Limit with V8”。在演講中,他深入解釋了13個簡單的代碼最佳化方法,可以讓你的代碼在 Chrome 的 V8 JavaScript 引擎編譯/運行你的 JavaScript 代碼更加快速。在演講中,他解釋了怎麼最佳化,並且解釋了原因。下面簡明的列出了最佳化的要點:   1. 在建構函式中初始化所有的對象   2.

javascript設計模式 介面介紹

這本書中第一個重要的內容就是介面。大家對介面應該都不陌生,簡單的說介面就是一個契約或者規範。在強型別的面相對象語言中,介面可以很容易的實現。但是在javascript中並沒有原生的建立或者實現介面的方式,或者判定一個類型是否實現了某個介面,我們只能利用js的靈活性的特點,類比介面。 在javascript中實現介面有三種方式:注釋描述、屬性驗證、鴨子模型。 note:因為我看的是英文書,翻譯水平有限,不知道有些詞彙如何翻譯,大家只能領會精神了。 1. 注釋描述 (Describing

Javascript對象中關於setTimeout和setInterval的this介紹

在Javascript裡,setTimeout和setInterval接收第一個參數是一個字串或者一個函數,當在一個對象裡面用setTimeout延時調用該對象的方法時 複製代碼 代碼如下:function obj() { this.fn = function() { alert("ok"); console.log(this); setTimeout(this.fn, 1000);//直接使用this引用當前對象 } } var o = new obj(); o.fn();

javascript設計模式 封裝和資訊隱藏(上)

本文分上下兩部分,上部講基本模式(basic patterns):完全暴露法,底線標記法和使用閉包;下部講進階模式(Advanced Patterns),如何?靜態方法和屬性,常量還有其他一些知識點。   封裝是物件導向語言很基本也是很有用的特性,雖然javascript也可以稱的上是物件導向語言,但他對封裝的支援並不是很好,不像其他語言,只要使用private、protected就可以實現。但這並不是說就沒有辦法了,下面我就介紹下如何在javascript中實現封裝。

重溫JavaScript中的Regex js學習筆記

一、建立Regex   建立Regex和建立字串類似 , 建立Regex提供了兩種方法 , 一種是採用 new運算子,另一個是採用字面量方式。 複製代碼 代碼如下:  var dog = new RegExp('dog'); // 第一個參數字串   var dog = new RegExp('dog', 'ig'); // 第二個參數可選模式修飾符 var dog = /dog/;   var dog = /dog/ig; //字面量方式。 RegExp 對象包含兩個方法 : test()

javascript演算法題 求任意一個1-9位不重複的N位元在該組合中的大小排列序號

具體題目是這樣的:   從1--9中選取N個數字,組成不重複的N位元,從小到大進行編號,當輸入其中任何一個數M時,能找出該數字對應 的編號。如 N=3,M=213. 輸出:[123(1) , 132(2) , 213(3) , 231(4) , 312(5) , 321(6)]--->X=2

JavaScript中的apply()方法和call()方法使用介紹

1、每個函數都包含兩個非繼承而來的方法:apply()和call()。 2、他們的用途相同,都是在特定的範圍中調用函數。 3、接收參數方面不同,apply()接收兩個參數,一個是函數啟動並執行範圍(this),另一個是參數數組。call()方法第一個參數與apply()方法相同,但傳遞給函數的參數必須列舉出來。   例1: 複製代碼 代碼如下:window.firstName = "diz"; window.lastName = "song"; var myObject = {

Javascript中找到子項目在父元素內相對位置的代碼

經過自己一晚上嘗試,貌似找到了一個方法。 現在腦袋還糊塗,先記下來,以後再分析。 複製代碼 代碼如下:// 找到子項目在父元素中的相對位置 function getElementTop(element){ var el = (typeof element == "string") ? document.getElementById(element) : element; if (el.parentNode === null || el.style.display == 'none') {

js限制文字框只能輸入數字(Regex)

好了,言歸正傳。話說我在網上找了很多限制文字框的辦法都不盡人意,於是只好自己動手實踐了,實踐出真知嘛,這句話沒錯的。 複製代碼 代碼如下:function chkPrice(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //必須保證第一位為數字而不是. obj.value = obj.value.replace(/^\./g,""); //保證只有出現一個.而沒有多個. obj.value = obj.value.replace(/\.{2

JavaScript物件導向知識串結(讀JavaScript進階程式設計(第三版))

第一遍囫圇吞棗,不求甚解,感覺恍然大悟,結果晚上睡覺一想發現很多問題,什麼都不明白,再看第二遍,發現原來是這樣。過了幾天一用,發現手寫起來原來還是在憑記憶,於是下一遍,下一遍...

JavaScript物件導向(極簡主義法minimalist approach)

極簡主義法   荷蘭程式員 Gabor de Mooij 提出了一種比 Object.create ()更好的新方法,他稱這種方法為"極簡主義法"(minimalist approach)。這也是我推薦的方法。   3. 1 封裝   這種方法不使用 this 和 prototype,代碼部署起來非常簡單,這大概也是它被叫做"極簡主義法"的原因。   首先,它也是用一個對象類比"類"。在這個類裡面,定義一個建構函式 createNew (),用來產生執行個體。 複製代碼 代碼如下:var

JavaScript物件導向之Prototypes和繼承

一、前言 本文翻譯自微軟的牛人Scott Allen Prototypes and Inheritance in JavaScript ,本文對到底什麼是Prototype和為什麼通過Prototype能實現繼承做了詳細的分析和闡述,是理解JS OO 的佳作之一。翻譯不好的地方望大家修改補充。 二、本文 JavaScript中的物件導向不同於其他語言,在學習前最好忘掉你所熟知的物件導向的概念。JS中的OO更強大、更值得討論(arguably)、更靈活。 1.類和對象

jquery(javascript)自動序列編號和屬性編號實現代碼

自動序列編號和自動屬性編號,如下:實現原理: 添加和刪除是逆向過程,實現是一致的。 增加時,向父容器中增加元素append方法,並將所有的自訂屬性編號和序列編號設定為空白,然後通過$.each方法,重新為自訂屬性編號和序列編號賦值。 複製代碼 代碼如下:$.each(items, function (k, v) { $(this).attr("opt", "mopt" + k); serials.eq(k).html(k); });

總頁數: 3271 1 .... 153 154 155 156 157 .... 3271 Go to: 前往

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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