Js面向對象

  JavaScript 的核心是支持面向對象的,同時它也提供了強大靈活的 OOP 語言能力。本文從對面向對象編程的介紹開始,帶您探索 JavaScript 的對象模型,最後描述 JavaScript 當中面向對象編程的一些概念。html

術語

  Class 類定義對象的特徵。它是對象的屬性和方法的模板定義。編程

  Object 對象類的一個實例。Property 屬性對象的特徵,好比顏色。數組

  Method 方法對象的能力,好比行走。函數

  Constructor 構造函數對象初始化的瞬間,被調用的方法。一般它的名字與包含它的類一致。ui

  Inheritance 繼承一個類能夠繼承另外一個類的特徵。this

  Encapsulation 封裝一種把數據和相關的方法綁定在一塊兒使用的方法。編碼

  Abstraction 抽象結合複雜的繼承,方法,屬性的對象可以模擬現實的模型。spa

  Polymorphism 多態多意爲「許多」,態意爲「形態」。不一樣類能夠定義相同的方法或屬性。prototype

 

  1.網頁三要素是什麼code

    HTML(內容)
    CSS(外觀)
    Javascript(行爲)

  2.JavaScript是什麼

    JavaScript一門解釋型(不是編譯型)腳本語言,它的主要特色有:面向對象,弱類型,動態,基於原型的面向對象(對象)(不基於類)

  3.講下js的數據類型

    基本類型: 數值(number),字符串(string),布爾值(boolean),undefined
    對象類型: 對象(Object),數組(Array),函數(Function)

  4.用什麼方法來判斷一個對象的數據類型,怎麼樣去判斷數組

    typeof判斷對象類型,用instanceOf判斷是否是數組

  5.分別講下小括號,中括號,大括號,冒號在js中的做用

    1). 小括號: ()用來定義或調用一個函數
    2). 中括號運算符: [ ]用來建立一個數組/獲取數組元素
    3). 大括號運算符: { }用來建立一個對象
    4). 冒號運算符: 冒號用來分隔對象的屬性名和屬性值

  6.講下函數的三種定義:

    1.function name(){}
    2. var name=function(){}
    3. var name=new Function("n","m","n+m")

  7.函數的形參和實參是否能夠不同,若是不同,經過什麼調用

    能夠不同,每一個函數裏面都有個arguments數組類型的變量,能夠拿到實參的個數

  8.說幾個系統預約義函數

    parseInt() / parseFloat() : 將一個字符串轉爲數字
    isNaN() : 判斷是否不是一個數值或者數值類型字符串
    encodeURI() / decodeURI(): 對字符串進行編碼與解碼
    eval() : 將JS代碼格式的字符串看成js執行
    setInterval(callback,m)間隔多久執行一次callback函數

  9.講下變量的做用域

    若是在函數裏面用var聲明,就是局部變量,若是在函數裏面不用var聲明,那就是全局變量,在函數外面用var定義都是全局變量

  10.數組有哪兩種聲明方式

    1.直接用[]裏面包含數據聲明
    2.用new Array聲明

  11.數組用什麼去訪問

    用下標來訪問 arr[index]

  12.怎麼樣刪除數組對象

    用 delete arra[0];

  13.對象是怎麼樣定義的,屬性是怎麼定義的

    能夠用function定義一個對象,而後根據形參在裏面this.x=x能夠定義屬性,或者能夠經過動態的添加一個屬性

  14.對象是怎麼樣建立的?

    1.用var obj={}就能夠建立一個對象
    2.用new Object()也能夠建立一個對象

  15.怎麼樣給一個對象動態添加屬性或者方法

    直接在對象上面用obj.屬性="test",或 obj.方法名=function(){}定義一個方法

  16.js裏面的全局對象是什麼,怎麼調用的

    js裏面的全局對象是window,在js裏面直接調用的函數都是window對象裏面的函數,
    默認的this也指向window,默認全局對象的屬性和方法不用前面加window,能夠直接調用

  17.講幾個常見的js內置對象,他們有什麼好處

    Object,Array,String,Number,Boolean,Date,Function
    能夠方便的使用一些方法和常量,譬如String裏面就有不少字符串函數 Date能夠處理時間

  18.prototype(原型)是什麼,它是怎麼使用的

    每一個函數都有一個prototype屬性, 它是一個引用變量, 默認指向一個空Object對象 ,有備用的意思,當調用一個對象的函數或者屬性的時候,若是在當前對象裏面找不到,那麼就到原型裏面去找

  19.js是怎麼樣實現繼承的?

    使用prototype屬性就能夠實現繼承 通常是child.prototype=new parent()就能夠實現

  20 什麼是DOM,DOM分爲那三種

    DOM= Document Object Model,文檔對象模型, DOM 是 W3C(萬維網聯盟)的標準。DOM 定義了訪問 HTML 和 XML 文檔的標準:獨立於平臺和語言的接口. W3C DOM 標準被分爲 3 個不一樣的部分:
    核心 DOM - 針對任何結構化文檔的標準模型
    XML DOM - 針對 XML 文檔的標準模型
    HTML DOM - 針對 HTML 文檔的標準模型

  21.DOM中有幾種類型的節點

    整個文檔是一個文檔節點(Document)
    每一個 HTML 標籤是一個元素節點(Element)
    每個 HTML 屬性是一個屬性節點(Attribute)
    包含在 HTML 元素中的文本是文本節點(Text)

  22.講下DOM對象的三種查詢方式

    getElementById()根據元素id來查找 ,getElementsByTagName(tag):根據元素的tag名字來查找 
    getElementsByName(name) 根據元素名字來查找

  23.怎麼樣建立元素節點和文本節點,怎麼樣刪除節點

    createElement("div")建立元素節點,createTextNode()建立一個文本節點,removeChild()能夠用來刪除節點

  24.用那個屬性能夠快速的給一個節點加一段html內容

    innerHTML

  25.若是我在js裏面訪問在js下面的html的tag,用什麼技術實現

    默認js都是解釋性語言,js不能訪問後面定義的html元素的,但在window裏面有個onload函數,把代碼寫在下面     函數體裏面就能夠 window.onload=function(){}
相關文章
相關標籤/搜索