js對象實例講解,js對象語法

本文目錄一覽:

淺談js函數中的實例對象、類對象、局部變數(局部函數)

定義

function

Person(national,age)

{

this.age

=

age;

//實例對象,每個示例不同

Person.national

=

national;

//類對象,所用實例公用

var

bb

=

0;

//局部變數,外面不能訪問(類似局部函數)

}

調用

var

p

=

new

Person(“中國”,

29);

document.writeln(“age:”

+

p.age);

document.writeln(“object

national:”

+

p.national);

document.writeln(“Class

national:”

+

Person.national);

document.writeln(“local

var:”

+

p.bb);

var

p2

=

new

Person(“美國”,

31);

document.writeln(“/br”);

document.writeln(“age:”

+

p2.age);

document.writeln(“object

national:”

+

p2.national);

document.writeln(“Class

national:”

+

Person.national);

document.writeln(“local

var:”

+

p2.bb);

document.writeln(“/br”);

document.writeln(“Class

national:”

+

Person.national);

//age:29

object

national:undefined

Class

national:中國

local

var:undefined

//age:31

object

national:undefined

Class

national:美國

local

var:undefined

//Class

national:美國

以上這篇淺談js函數中的實例對象、類對象、局部變數(局部函數)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

javascript實例化對象

這段代碼很簡單,你應該是不明白兩個運行結果不一樣的原因,我只說明運行結果不同的原因。

首先你要明白this關鍵字是與運行時環境有關,和聲明時環境無關。

new test(1).fun2();這個fun2調用fun1時這句alert(tihs.m_num);這個this的運行環境是fun2,所以它代表fun2,只會彈出undefined,

new test(1).fun3();由於fun3的指針是指向fun1的,而fun1是test的一個屬性,這句alert(tihs.m_num);這個this的運行環境是test,所以它代表test,只會彈出5。

JS中的event 對象包含哪些東西 event,實例 詳解

JS的event對象

Event屬性和方法:

1. type:事件的類型,如onlick中的click;

2. srcElement/target:事件源,就是發生事件的元素;

3. button:聲明被按下的滑鼠鍵,整數,1代表左鍵,2代表右鍵,4代表中鍵,如果按下多個鍵,酒把這些值加起來,所以3就代表左右鍵同時按下;(firefox中 0代表左鍵,1代表中間鍵,2代表右鍵)

4. clientX/clientY:事件發生的時候,滑鼠相對於瀏覽器窗口可視文檔區域的左上角的位置;(在DOM標準中,這兩個屬性值都不考慮文檔的滾動情況,也就是說,無論文檔滾動到哪裡,只要事件發生在窗口左上角,clientX和clientY都是 0,所以在IE中,要想得到事件發生的坐標相對於文檔開頭的位置,要加上

document.body.scrollLeft和 document.body.scrollTop)

5. offsetX,offsetY/layerX,layerY:事件發生的時候,滑鼠相對於源元素左上角的位置;

6. x,y/pageX,pageY:檢索相對於父要素滑鼠水平坐標的整數;

7. altKey,ctrlKey,shiftKey等:返回一個布爾值;

8. keyCode:返回keydown何keyup事件發生的時候按鍵的代碼,以及keypress 事件的Unicode字元;(firefox2不支持 event.keycode,可以用 event.which替代 )

9. fromElement,toElement:前者是指代mouseover事件中滑鼠移動過的文檔元素,後者指代mouseout事件中滑鼠移動到的文檔元素;

10. cancelBubble:一個布爾屬性,把它設置為true的時候,將停止事件進一步起泡到包容層次的元素;(e.cancelBubble = true; 相當於 e.stopPropagation();)

11. returnValue:一個布爾屬性,設置為false的時候可以組織瀏覽器執行默認的事件動作;(e.returnValue = false; 相當於 e.preventDefault();)

12. attachEvent(),detachEvent()/addEventListener(),removeEventListener:為制定 DOM對象事件類型註冊多個事件處理函數的方法,它們有兩個參數,第一個是事件類型,第二個是事件處理函數。在

attachEvent()事件執行的時候,this關鍵字指向的是window對象,而不是發生事件的那個元素;

13. screenX、screenY:滑鼠指針相對於顯示器左上角的位置,如果你想打開新的窗口,這兩個屬性很重要;

一些說明:

1. event代表事件的狀態,例如觸發event對象的元素、滑鼠的位置及狀態、按下的鍵等等;

2. event對象只在事件發生的過程中才有效。

firefox里的event跟IE里的不同,IE里的是全局變數,隨時可用;firefox里的要用參數引導才能用,是運行時的臨時變數。

在IE/Opera中是window.event,在Firefox中是event;而事件的對象,在IE中是 window.event.srcElement,在Firefox中是event.target,Opera中兩者都可用。

3. 下面兩句效果相同

var evt = (evt) ? evt : ((window.event) ? window.event : null);

var evt = evt || window.event; // firefox下window.event為null, IE下event為null

4. IE中事件的起泡

IE中事件可以沿著包容層次一點點起泡到上層,也就是說,下層的DOM節點定義的事件處理函數,到了上層的節點如果還有和下層相同事件類型的事件處理函數,那麼上層的事件處理函數也會執行。例如, div 標籤包含了 a ,如果這兩個標籤都有onclick事件的處理函數,那麼執行的情況就是先執行標籤 a 的onclick事件處理函數,再執行 div 的事件處理函數。如果希望的事件處理函數執行完畢之後,不希望執行上層的 div 的onclick的事件處理函數了,那麼就把cancelBubble設置為true即可。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232438.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 12:51
下一篇 2024-12-11 12:51

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Python語法大全解析

    本文旨在全面闡述Python語法,並提供相關代碼示例,幫助讀者更好地理解Python語言。 一、基礎語法 1、Python的注釋方式 # 這是單行注釋 “”” 這是多行注釋,可以注…

    編程 2025-04-29
  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • Python中複數的語法

    本文將從多個方面對Python中複數的語法進行詳細的闡述。Python中的複數是指具有實部和虛部的數,其中實部和虛部都是浮點數。它們可以用「實數+虛數j」的形式表示。例如,3 + …

    編程 2025-04-29
  • parent.$.dialog是什麼技術的語法

    parent.$.dialog是一種基於jQuery插件的彈出式對話框技術,它提供了一個方便快捷的方式來創建各種類型和樣式的彈出式對話框。它是對於在網站開發中常見的彈窗、提示框等交…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28

發表回復

登錄後才能評論