本文目錄一覽:
怎麼快速的學習基本JS技術
實話說學習是沒有捷徑的,最多也就是有一些學習的方法和技巧。關於學習JavaScript也就是js我分享一下我這個菜鳥的學習方法,只是個人的一些看法,不喜勿噴。
1、基礎要學的好
學過js的都是知道的,js的一些基礎的語法和一些變成語言是不一樣的,所以需要額外的注意一些基礎的語法,舉例來說:作用域,一般的編程語言都是全局變量函數外有效,函數內的變量函數內有效,而js是不一樣的,js的全局變量函數外和函數內都有效,函數內的函數只函數內有效。還有js是基於對象的語言,但是為了支持面向對象的編程思想,js使用函數來模擬類或者是對象的概念,這些都是比較難理解的,含有一些js的地層東西如原型鏈、上下文等也是非常的不好理解,這就需要基礎的知識一定要紮實才能行。
2、多練習和實踐
其實學習編程都是這樣的,多動手多思考是學習編程語言的最好辦法,很多東西看起來簡單但是做起來就非常難了,解決的方法是學習js要和做網頁特效聯繫起來,畢竟js的一個很大的應用方向就是實現網頁的效果和一些交互,所以學習基礎的同時要試着使用原生的js代碼來實現一些網頁特效,從中可以學到js這門語言的博大精深。
2、學習面向對象的編程思想
雖然js對於面向對象編程的支持不是很完美,但是一些js的大神使用了一些很多的方法,如構造函數等模擬了一些比較完整的面向對象編程,所以難點也出來了,那就是js的面向對象要比其他的語言複雜難理解。
4、學習js的一些框架
使用原生的js進行開發太難了,但是我們可以通過js的框架來解決這個問題,基礎的框架如jQuery,還有比較高級的框架如angularjs都是很不錯的東西,只是js原生學的好,這些框架也就比較好理解了
Js基礎29:對象(上)
1、萬物皆對象
在編程中, 萬物皆對象 。我們在編程中,使用對象來描述萬事萬物。怎麼描述呢?什麼事物,只要描述了其特徵和行為就可以知道在描述什麼。
舉個例子,我們猜個謎語:
什麼東西,小時候是黑色的,長大是綠色的,小時候在水裡游,長大了在岸上跳。
基本都可以猜到,我們描述的是青蛙。
其中,顏色是青蛙的特徵,在水裡游和在岸上跳是行為。
我們在編程中,也是使用 特徵 和 行為 描述任何事物。
使用 屬性 描述事物的 特徵 ,使用 方法 來描述 行為 , 就是對象這種語法。
所以:對象就是屬性和方法的集合
2、對象有什麼用
我們之前學習過的對象:Math、Date
我們發現,只要學習對象的一些屬性和方法,直接使用,就可以得到自己想要的效果。
例如-得到隨機數:Math.random()
我們不需要關心隨機數到底是怎麼產生的,只要結果——不關心過程,只關心結果
就好像我們獲取當前日期:
所以對象的好處在於:我們只要知道對象有什麼屬性和方法,不需要知道對象裏面是如何實現的。我們實現一個效果的過程將大縮短,實現高效開發。
3、創建對象
字面量創建對象:
使用Object內置對象創建對象:
4、為對象添加值
對象的值(對象成員)有兩類:
添加屬性的語法:對象.屬性 = 值;
添加方法的語法:對象.方法名 = function(){}
字面量初始化對象:
JS 對象基本用法
一種是通過字面量的形式創建(語法糖):let obj = {}
另外一種就是通過new Object()構造器函數的形式創建。對象字面量的聲明方式比構造器函數更加方便。
通過delete操作符, 可以實現對對象屬性的刪除操作, 返回值是布爾值
通過點或者方括號可以獲取對象的屬性值,如果對象上不存在該屬性,則會返回undefined。
點獲取對象屬性值其實是通過.”屬性名”(屬性名是字符串)和[“屬性名”]一樣但和[變量名]不同此時是通過變量的值為屬性名訪問對象
屬性名可以通過in操作符,如果指定的屬性在指定的對象或其原型鏈中,則in 運算符返回true。這種方式的局限性就是無法區分自身和原型鏈上的屬性,在只需要判斷自身屬性是否存在時,這種方式就不適用了。
hasOwnProperty()只有自身存在該屬性時,才會返回true。適用於只判斷自身屬性的場景。
Object.assgin(“目標對象”,”源對象”),可以通過assgin給對象一次增加多個屬性
let obj = {};Object.assgin(obj,{a:1,b:2})
也可以通過點或者方括號修改對象的屬性,注意點和查看對象一樣
兩個都可以查看name是否為obj的屬性,in操作符可以查看name屬性是否為obj的屬性,但是除了會查找自身有沒有這個屬性還會查找原型鏈上是否有這個屬性,hasOwnProperty只會在自身上查找這個屬性。
Web前端開發知識點之JavaScript對象
今天小編要跟大家分享的文章是關於Web前端開發知識點之JavaScript對象。真正從事web前端工作的小夥伴們來小編一起看一看吧,希望本篇文章能夠對大家有所幫助。
1、Function對象
①對象的創建
Function對象的創建共有3種方法。
第一種方法格式如下,不符合我們寫代碼的習慣,不建議使用
varfun=newFunction(形式參數列表,方法體);
第二種方法格式如下:
function方法名稱(形式參數列表){方法體}
第三種方法格式如下:
var方法名稱=function(形式參數列表){方法體}
一般我們採用後兩種方法進行Function對象的創建。
②對象的屬性
·length屬性代表形參的個數
③對象的特點
·方法定義時,形式參數的類型不用寫,返回值類型也不寫。
·方法是一個對象,如果定義名稱相同的方法,會覆蓋。
·在JavaScript中、方法的調用只與方法的名稱有關,和參數列表無關
·在方法聲明中有一個隱藏的內置對象(數組)arguments封裝所有的實際參數
④對象的調用
方法名稱(實際參數列表);
2、Array對象
①對象的創建
Array數組對象也有三種創建方式,三種格式如下所示:
vararr=newArray(元素列表);vararr=newArray(默認長度);vararr=[元素列表];
②對象的方法
Array對象有很多方法,下面介紹兩個常用的方法:
join(參數):將數組中的元秦按照指定的分隔符拼接為字符串
push():向數組的末尾添加一個或更多元素,並返回新的長度。
③對象的屬性
·length屬性代表數組的長度
④對象的特點
在JavaScript中,數組元素的類型是可變的。
在JavaScript中,數組的長度是可變的。
3、Date對象
①對象的創建
vardata=newDate();
②對象的方法
Array對象有很多方法,下面介紹兩個常用的方法:
toLocalestring():返回當前date對象對應的時間本地字符串格式
getTime():獲取毫秒值。返回當前日期對象描述的時間到1970年1月1日零點的毫秒值差
4、Math對象
①對象的創建
Math數學對象不用創建,可以直接使用,使用方式如下:
Math.方法名();
②對象的方法
Array對象有很多方法,下面介紹四個常用的方法:
random():返回0~1之間的隨機數。含0不含1。
ceil(x):對數進行上取整。
floor(x):對數進行下取整。
round(x):對數進行四捨五入。
5、RegExp對象
在學習RegExp正則對象之前,我們首先來複習一下什麼是正則表達式?正則表達式就是定義字符串的組成規則。
單個字符用[]表示。如:
[a]表示字符a
[a-z]表示a-z中的任一字符
還有一些特殊符號代表特殊含義的單個字符。例如:
\d表示單個數字字符=[0-9]
\w表示單個單詞字符=[a-zA-Z0-9_]
量詞符號用?、*、+、{m,n}表示。其中
·?:表示出現0次或1次
·*:表示出現0次或多次
·+:出現1次或多次
·{m,n}:表示m
§m如果缺省,即{,n}:最多n次
§n如果缺省,即{m,}:最少m次
①對象的創建
RegExp正則對象的創建有兩種方法,我們一般採用第二種。
varreg=newRegExp(“正則表達式”);varreg=/正則表達式/;
②對象的方法
RegExp對象的常用方法只有一種:
test(參數):驗證指定的字符串是否符合正則定義的規範
6、Global對象
①對象的創建
顧名思義,Global對象就是全局對象,這個Global中封裝的方法不需要對象就可以直接調用。格式如下:
方法名();
②對象的方法
全局對象的方法有很多,下面簡單介紹幾種:
encodeURI():url編碼
decodeURI():url解碼
parseInt():將字符串轉為數字。逐一判斷每一個字符是否是數字,直到不是數字為止,將前邊數字部分轉為number
isNaN():判斷一個值是否是NaN。NaN六親不認,連自己都不認。NaN參與的==比較全部為false。
eval():將JavaScript轉化為字符串,並把它作為腳本代碼來執行。
以上就是小編今天為大家分享的關於Web前端開發知識點之JavaScript對象的文章,希望本篇文章能夠對正在從事web前端學習和工作的小夥伴們有所幫助,想要了解更多web前端知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端工程師。
文章來源:原創凱哥的故事
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/186106.html