c++局部对象是什么_小白学Web前端难点是什么 JS进阶知识点有哪些
小白學Web前端難點是什么?JS進階知識點有哪些?JavaScript是前端小白學習的難點,但又是前端工程師必須要掌握的技能。很多同學反映JavaScript知識點多而雜,不知道如何下手,下面就給大家盤點一下JavaScript相關的知識點。
語言構成:
1)基礎語法(ECMAScript=ES 1、2、3、3.1、5(IE9+)、6:ES2015)/
2)BOM:Brower Object Model 瀏覽器對象模型
3)DOM(W3C):Document Object Model 文檔對象模型
變量
變量的聲明:(var關鍵字) 會提升到當前作用域的頂部
JS作用域:全局作用域、局部作用域(寫一個函數就產生了一個局部作用域)
數據類型
JavaScritp的數據類型有:數值類型、字符串類型、布爾類型、null、undefined、對象(數組、正則表達式、日期、函數)。基本數據類型:數值、字符串、布爾、null、undefined(值類型);復雜(復合)數據類型:對象(引用類型);
使用typeof可以檢測數值、字符串、布爾、undefined、函數;無法檢測函數以外的對象類型以及null。
數據類型的轉換:
Number("12ab"); //NaN
parseInt("12.1ab"); //12
parseFloat("12.1ab"); // 12.1
運算符
算術運算符:+、-、*、/、%(求余、取模)
邏輯運算符:&&、||、!
注意:&&:看運算符左邊的數是否為真值,如果為真值,返回右邊,如果為假值,返回左邊;||:看運算符左邊的數是否為真值,如果為真值,返回左邊,如果為假值,返回右邊。
假值:空字符串""/數字0/null/undefined/false/NaN
循環語句:for while do...while for...in
函數聲明:1)聲明式函數——>函數聲明提前(會提升到當前作用域的頂部);2)函數表達式(變量聲明提前)。如果同時存在變量聲明和函數聲明,那么聲明后的結果是一個函數。
參數arguments獲取實參的相關信息;函數的返回值由return 語句決定。
異常:JS代碼執行的時候出現的錯誤,出現錯誤之后,后面的代碼無法執行。
異常捕獲:代碼出現了異常之后,進行手動的捕捉。
異常捕獲的使用場景:一段代碼可能發生錯誤,這個錯誤現在沒時間解決,為了保證后面的代碼可以成功執行,就進行異常捕獲:try...catch。
面向對象
JS是一門基于對象的多泛式語言,可以使用面向過程進行開發,比如:獲取元素,綁定事件、設置樣式、完成動畫等。
可以使用面向對象的方式進行開發
面向(關注于)過程:基于函數、封裝函數
面向對象:關注點變成了對象
對象的概念:數據集、功能集
構造函數
為什么要有構造函數?一些對象具有相同的屬性和方法(特征和行為),將他們抽象出一個同一個類型,在JS中就需要通過一個構造函數來創建這些對象,在構造函數內部設置對象的屬性和方法。
好處:一次封裝,多次調用,可省略一些代碼,也讓代碼更具有可讀性。
獲取對象上的屬性和方法
1)屬性:
a. 實例.屬性名;
b. 實例["屬性名"];
2)方法:
a. 實例.方法名;
b. 實例["方法名"];
設置對象上的屬性和方法
1)屬性:
a. 實例.屬性名=新的值;
b. 實例["屬性名"]=新的值;
2)方法:
a. 實例.方法名=新的值;
b. 實例["方法名"]=新的值;
刪除原型對象中的say方法:delete
構造函數和普通函數的區別:
構造函數和普通函數只在調用方式不同
1)當成普通函數來調用:
a. 函數內部的this指向調用的對象(如果沒有找到調用的對象,this指向window)
b. 函數的返回值由return語句決定,如果沒有說明函數沒有返回值(返回值是undefined)
2)當成了構造函數來調用會經歷以下過程
a. 創建一個該構造函數的實例
b. 將構造函數內部的this的值指向該實例
c. 執行函數體
d. 默認的返回值:該實例
3)函數調用的4種方式 function fn(){}
a. 普通調用:fn();
b. 當成構造函數調用:new fn();
c. 被對象調用:o.fn();
d. 上下文模式:call/apply
4)構造函數的返回值
a. 構造函數沒有手動添加返回值,返回構造函數的實例
b. 構造函數返回基本數據類型的值,返回的還是構造函數的實例
c. 構造函數返回對象類型的值,返回就是那個對象
原型對象:構造函數的prototype屬性:隨著實例化的次數增加,不同的對象他們擁有的say方法指向不同的內存,功能相同,造成了內存的浪費,為了解決內存,將這個方法放在某個對象(原型對象)中。
結論1:給構造函數的prototype屬性(對象)添加一個方法,這個方法就可以被構造函數的實例所共享。
推論1:構造函數的prototype屬性(對象)上面的屬性、方法都可以被構造函數的實例所共享。
推論2:Student.prototype.constructor===s1.constructor。
結論2:構造函數的實例有一個__proto__指向的是構造函數的prototype屬性(原型對象) s1.__proto__===Student.prototype
總結:
a.原型對象是構造函數的prototype屬性;
b.構造函數的實例的__proto__屬性指向原型對象;
c.原型對象有一個constructor屬性指向構造函數本身。
以上只是JavaScript知識點的一小部分,對于想要入行Web前端行業的人來說,就業是個大問題,也直接影響著各個的決定。因此,選擇專業的學習比較好,不僅理論基礎扎實,還有豐富的項目開發經驗,有明確的職業規劃和嫻熟的面試技巧,為自身的快速就業提供了可能。
總結
以上是生活随笔為你收集整理的c++局部对象是什么_小白学Web前端难点是什么 JS进阶知识点有哪些的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 掩膜区域内像素值_基于颜色空间采样的抠图
- 下一篇: 各维度 特征 重要程度 随机森林_机器学