Javascript–物件導向(三)介面

介面:對實現某一種任務、功能,目的等,所規定的一些原則。程式中的介面:規定好有幾個方法,方法名是什麼。(因程式中要完成任務,都是通過函數或者說方法去實現的。)javascript中的介面:把執行個體出來的某"類型對象"、和執行個體出來的"介面對象",進行一個比較,符合規則,就可以說:這個對象實現了規定的介面;(介面類:通過這個類,來執行個體出不同的介面。即不同的介面執行個體,也就是不同的方法個數和方法名稱) (進行比較:其實質就是判斷子類型執行個體出來的對象,是否有介面對象中所儲存的方法名,還有

javascript–快速排序

function quickSort(arr){ //如果數組只有一個數,就直接返回; if(arr.length<1){ return arr; } //找到中間的那個數的索引值;如果是浮點數,就向下取整 var centerIndex = Math.floor(arr.length/2); //根據這個中間的數的索引值,找到這個數的值;

javascript–事件委託

//事件委託 function f2(d) { document.onclick = function(e) { var e = e || window.event; var target = e.srcElement || e.target; if (target.tagName == “LI”) { ……

神奇的”javascript:”

上周,從 GuoXing同學 http://weibo.com/runflash 那裡學習的一個知識點,沒等到他的部落格,我就搶先記錄一下。(捋須笑過)問題:以下代碼裡的“javascript:”是起什麼作用?<input type=button value=test onclick="javascript:alert(1)"/> 在href裡寫“javascript:alert(1)”,這裡是作偽協議,不過在onclick裡寫,是有什麼用呢?難道是指定語言類型?

高效能的javascript中迴圈的處理

for(var i=0; i<items.length;i++ ){ items[i].onclicn = fn;}for(i=items.length; i--; ){ items[i].onclicn = fn;}for(var i = 0, len=items.length; i < ilen; i++){ items[i].onclicn = fn;}1.一次控制條件的屬性尋找,如items.length;2.一次控制條件的數值比較,如i<items.

javascript定義變數和優先順序的問題

這篇文章可以和上一篇函數優先順序的文章結合起來看。看下面的代碼:if (!("aa" in window)) { alert('oh my god'); var aa = 1; } alert("aa" in

使用百度地圖離線JavaScript API載入本地瓦片地圖

1.首先擷取百度

Javascript:最高效率的數組亂序方法

常用的辦法是給數組原生的sort方法傳入一個函數,此函數隨機返回1或-1,達到隨機排列數組元素的目的。arr.sort(function(a,b){ return Math.random()>.5 ? -1 : 1;});這種方法雖直觀,但效率並不高,經我測試,打亂10000個元素的數組,所用時間大概在35ms上下(firefox,下同)本人一直具有打破沙鍋問到底的優良品質,於是搜尋到了一個高效的方法。原文見此if (!Array.prototype.shuffle) {

Javascript–物件導向(一)(共有方法,私人方法,特權方法)

最近在網上盾一些JS物件導向的東西。把其他高手們總結的東西,加上自己的理解,總結一下: 私人方法:私人方法本身是可以訪問類內部的所有屬性的,即私人屬性和公有屬性。但是私人方法是不可以在類的外部被調用。私人方法寫法:function myClass () { 4 var private_attribute = initial_value; 5 function private_method () { } 6 var private_method2

javascript–在firebug調試時用console.log

console.log(); 當你使用console.log()函數時,下面的firebug一定要開啟,不然這函數在用firefox運行時無效且影響正常程式,如果用IE開啟,將會出錯。 第一個參數可以是一個包含格式化預留位置輸出的字串,例如:console.log("The %s jumped over %d tall buildings", animal, count);  格式化字串      類型%s                  字串%d,                

javascript–繼承(原型鏈prototype chaining)

關鍵是把 ClassB 的 prototype 屬性設定成 ClassA 的執行個體。function ClassB(color){ this.color = color; this.sayColor = function(){ console.log(this.color); }}function ClassA(name){ this.name = name; this.sayName = function(){

Javascript–物件導向(二)封裝

寫個小例子:第一步:做一個“手機的類"var MobilePhone = (function(){    …………})()  第二步:考慮這個類,裡需要那些類的私人屬性,這裡我想定義的是執行個體出來手機的數量var MobilePhone = (function(){ //私人屬性 var count = 0; //代表手機的數量})()  第三步:建立一個建構函式,即執行個體時候,對產生的新象的一個初始化,例如屬性,方法的初始化;在這個例子中,每一個手機都會有顏色,

Javascript–閉包引起的IE記憶體泄露

function fors(){ obj_a = obj_b; obj_b.attr = obj_a; } function fors(){ obj_b = {}; obj_b.attr = obj_b; }上面是兩個個很顯示的循環參考,IE中產生了記憶體泄露,由於IE的記憶體回收機制,導至會長期佔用記憶體而不能釋放。 但閉包的記憶體泄露,有些隱蔽。因為閉包的循環參考,是間接的。function iememery(){

javascript–iframe的JS方法,用法!contentWindow 、parent、top、onload

還是先感謝“妙味課堂”出的這期教學視頻!一、在使用iframe的頁面,要操作這個iframe裡面的DOM元素可以用:contentWindow、contentDocument(測試的時候chrom瀏覽器,要在伺服器環境下) 1.先擷取iframe裡面的window對象,再通過這個對象,擷取到裡面的DOM元素例子:var ifr = document.getElementById("iframe");ifr.contentWindow.document.getElementById("XXXXX"

javascript–滑鼠拖動

因為滑鼠沒有拖動事件(按下滑鼠並移動),只有按下,抬起,移動。記得在之前的一個"拖動層"的隨筆中,我實現拖動,是用的一個布爾變數,判斷是否可以拖動某元素。這兩天看了一些東西,發現不需要設這個布爾變數; 實現過程:按下滑鼠的時候,給文檔對象(當然也可以是別的DOM對象)的移動事件綁定一個處理函數,同時也給滑鼠抬起時綁定一個解除的處理函數。 //按下滑鼠並移動時(拖動),調用的函數; function startSelection(event){ ……

javascript–蘋果系統底部菜單–詳細分析

 (不好意,先前發布的是有誤的分析。現在的這個沒問提了!!!)昨天看到了“妙味課堂”的一個蘋果菜單的DEMO。根據裡面提到的“勾股定理”。我自己分析了一下代碼。如下: 先來一吧! 靜止時:  滑鼠滑動時:   一、要實現在的功能或效果:  在滑鼠滑動的靠近其中某一張圖片時,這個圖片會隨著滑鼠向它的靠近而慢慢放大。  a.是“放大”不是“變大”。【放大】是等比例的,而【變大】:不一定是等比例。後面的公式中會體現。  b.這裡的【靠近】:是指靠近圖片的【中心點】。離圖片【中心點】越近,圖片越大,遠離

Javascript-遍曆each與map

目的:擷取每一個多框的ID值;each方法:定義一個空數組,通過each方法,往數組添加ID值;最後將數群組轉換成字串後,alert這個值;$(function(){ var arr = []; $(":checkbox").each(function(index){ arr.push(this.id); }); var str = arr.join(","); alert(str);}) map方法:將每個:checkbox執行return

Javascript–鍵盤事件的組合使用

txt1.onkeydown = function(ev){ var oevent = ev||event; if(oevent.ctrlKey && oevent.keyCode == 13){ ……

javascript–繼承(對象冒充的多重繼承)

function ClassA(color){ this.color = color; this.sayColor = function(){ console.log(this.color); }}function ClassB(name){ this.name = name; this.sayName = function(){ console.log(this.name)

Javascript-邏輯運算子”或”的巧用

domObj.onkeydown = function(e){ if(e){ e.…… }else{ event.…… }}上面例子:如果是Firefox瀏覽器執行if裡面的語句,即使用e這個參數,來引用“事件對象”。     如果是IE瀏覽器則執行else裡面的語句,即使用event來引用“事件對象”。這是為了相容兩個瀏覽器而使用的if判斷方法,來使用事件對象。 domObj.onkeydown = function(e){

總頁數: 3271 1 .... 285 286 287 288 289 .... 3271 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。