亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript基礎(chǔ)知識(shí)

Code4App / 1416人閱讀

摘要:用和包裹的內(nèi)容,稱為字符串。關(guān)系運(yùn)算符用于進(jìn)行比較的運(yùn)算符。強(qiáng)制依賴于,非強(qiáng)制依賴于。使用場(chǎng)合全局環(huán)境構(gòu)造函數(shù)對(duì)象的方法閉包閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)。所有全局對(duì)象函數(shù)以及變量均自動(dòng)成為對(duì)象的成員。

1 什么是JavaScript

JavaScript一種直譯式腳本語(yǔ)言,一種基于對(duì)象和事件驅(qū)動(dòng)并具有安全性的客戶端腳本語(yǔ)言;
也是一種廣泛應(yīng)用客戶端web開(kāi)發(fā)的腳本語(yǔ)言。
簡(jiǎn)單地說(shuō),JavaScript是一種運(yùn)行在瀏覽器中的解釋型的編程語(yǔ)言。

2 JavaScript的基本結(jié)構(gòu)
    
3 JS的使用方法

HTML標(biāo)簽中內(nèi)嵌JS;

      

HTML頁(yè)面中直接使用JS:

      

引用外部JS文件:

      
4 變量

變量:是用于存儲(chǔ)信息的"容器",是命名的內(nèi)存空間,可以使用變量名稱找到該內(nèi)存空間;
JavaScript 的變量是松散類型(弱類型)的,就是用來(lái)保存任何類型的數(shù)據(jù)。
在定義變量的時(shí)候不需要指定變量的數(shù)據(jù)類型。

JavaScript 定義變量有四種方法:const、let、var,還有一種是直接賦值,比如a = " a"(不規(guī)范,不推薦使用)
var 定義的變量可以修改,如果不初始化會(huì)輸出undefined,不會(huì)報(bào)錯(cuò)。
let let是塊級(jí)作用域,定義的變量只在let 命令所在的代碼塊內(nèi)有效,變量需要先聲明再使用。
const 定義的變量不可以修改,而且必須初始化,const定義的是一個(gè)恒定的常量,
聲明一個(gè)只讀的常量或多個(gè),一旦聲明,常量值就不能改變。

在函數(shù)外聲明的變量作用域是全局的,全局變量在 JavaScript 程序的任何地方都可以訪問(wèn);
在函數(shù)內(nèi)聲明的變量作用域是局部的(函數(shù)內(nèi)),函數(shù)內(nèi)使用 var 聲明的變量只能在函數(shù)內(nèi)容訪問(wèn)。

聲明變量注意:

JS中所有變量類型聲明,均使用var關(guān)鍵字。變量的具體數(shù)據(jù)類型,取決于給變量賦值的執(zhí)行。

同一變量可在多次不同賦值時(shí),修改變量的數(shù)據(jù)類型。

變量的命名規(guī)范

變量命名名要符合駝峰法則:變量開(kāi)頭為小寫,之后每個(gè)單詞首字母大寫。

5 JavaScript 變量的命名規(guī)則

變量命名必須以字母、下劃線”_”或者”$”為開(kāi)頭。其他字符可以是字母、_、美元符號(hào)或數(shù)字。

變量名中不允許使用空格和其他標(biāo)點(diǎn)符號(hào),首個(gè)字不能為數(shù)字。

變量名長(zhǎng)度不能超過(guò)255個(gè)字符。

變量名稱對(duì)大小寫敏感(y 和 Y 是不同的變量),JavaScript 語(yǔ)句和 JavaScript 變量都 對(duì)大小寫敏感。

變量名必須放在同一行中。

不能使用腳本語(yǔ)言中保留的關(guān)鍵字、保留字、true、false 和 null 作為標(biāo)識(shí)符。

6 JS中的變量的數(shù)據(jù)類型

String:字符串類型。用""和""包裹的內(nèi)容,稱為字符串。
Number:數(shù)值類型。可以是小數(shù),也可以是正數(shù)。
boolean:真假,可選值true/false。
Object:(復(fù)雜數(shù)據(jù)類型)
Null:表示為空的引用。var a = null;
Undefined:未定義,用var聲明的變量,沒(méi)有進(jìn)行初始化賦值。var a;

7 JavaScript對(duì)象
JavaScript 對(duì)象是擁有屬性和方法的數(shù)據(jù),是變量的容器。
對(duì)象:是封裝一個(gè)事物的屬性和功能的程序結(jié)構(gòu),是內(nèi)存中保存多個(gè)屬性和方法的一塊存儲(chǔ)空間。
JavaScript中所有事物都是對(duì)象:數(shù)字、字符串、日期、數(shù)組等。
JavaScript對(duì)象可以是字面量創(chuàng)建、分配給變量,數(shù)組和其他對(duì)象的屬性、作為參數(shù)傳遞給函數(shù)、有屬性和作為返回值。

用字面量創(chuàng)建:
        function MyFun(){
        };
分配給其他對(duì)象的變量,數(shù)組和屬性:
        var myFun = function(){
        
        };
        myArray.push(function(){
        
        });
        myObject.myFun = function(){
        
        };
作為參數(shù)傳遞給其他函數(shù):
        function myFun(someFunc){
            someFunc();
        }
        myFunc(function(){
        
        });
有屬性:
        var myFunc = function(){
        
        };
作為返回值:
        function myFunc(){ 
            return function(){
        
            }
        }
在JavaScript中定義對(duì)象有5種方式:

基于已有對(duì)象擴(kuò)充其屬性和方法

工廠方式

構(gòu)造函數(shù)方式

原型(“prototype”)方式

動(dòng)態(tài)原型方式

JS 中的對(duì)象分為三類:

內(nèi)置對(duì)象(靜態(tài)對(duì)象):js本身已經(jīng)寫好的對(duì)象,我們可以直接使用不需要定義它。

常見(jiàn)的內(nèi)置對(duì)象有 Global、Math(它們也是本地對(duì)象,根據(jù)定義每個(gè)內(nèi)置對(duì)象都是本地對(duì)象)。

本地對(duì)象(非靜態(tài)對(duì)象):必須實(shí)例化才能使用其方法和屬性的就是本地對(duì)象。

常見(jiàn)的本地對(duì)象有 Object、Function、Data、Array、String、Boolean、Number、RegExp、Error等

宿主對(duì)象:js運(yùn)行和存活的地方,它的生活環(huán)境就是DOM(文檔對(duì)象模式)和BOM(瀏覽器對(duì)象模式)。

8 JavaScript函數(shù)

使用函數(shù)前要先定義才能調(diào)用,函數(shù)的定義分為三部分:函數(shù)名,參數(shù)列表,函數(shù)體
定義函數(shù)的格式:

    function 函數(shù)名([參數(shù)1,參數(shù)2...]){
        函數(shù)執(zhí)行部分;
        return 表達(dá)式;
    }
函數(shù)有三種定義方法:

函數(shù)定義語(yǔ)句

函數(shù)直接量表達(dá)式

Function構(gòu)造函數(shù)

函數(shù)有四種調(diào)用模式:

函數(shù)調(diào)用模式(通過(guò)函數(shù)調(diào)用)

方法調(diào)用模式(通過(guò)對(duì)象屬性調(diào)用)

構(gòu)造函數(shù)模式(如果是作為構(gòu)造函數(shù)來(lái)調(diào)用,那么this指向new創(chuàng)建的新對(duì)象)

函數(shù)上下文(借用方法模式:它的this指向可以改變,而前三種模式是固定的);函數(shù)上下文就是函數(shù)作用域;基本語(yǔ)法:apply 和 call 后面都是跟兩個(gè)參數(shù)。)

在javascript函數(shù)中,函數(shù)的參數(shù)一共有兩種形式:(實(shí)際參數(shù)與形式參數(shù))
形參:在函數(shù)定義時(shí)所指定的參數(shù)就稱之為“函數(shù)的形參”。
實(shí)參:在函數(shù)調(diào)用時(shí)所指定的參數(shù)就稱之為“函數(shù)的實(shí)參”。

9 運(yùn)算符

算術(shù)運(yùn)算符:主要是用來(lái)進(jìn)行JavaScript中的算術(shù)操作。(+、-、*、/、%、++、--)
賦值運(yùn)算符= 用于給JavaScript 變量賦值,其作用就是把右側(cè)的值賦給左側(cè)的變量。
關(guān)系運(yùn)算符:用于進(jìn)行比較的運(yùn)算符。
主要有小于(<)、大于(>)、等于(==)、大于等于(>=)、小于等于(<=)、不等(!=)、恒等(===)、不恒等(!==)。
邏輯運(yùn)算符:邏輯運(yùn)算符通常用于布爾值的操作,返回結(jié)果是一個(gè)布爾類型,一般和關(guān)系運(yùn)算符配合使用;
有三個(gè)邏輯運(yùn)算符:邏輯與(AND)、邏輯或(OR)、邏輯非(NOT)。
字符串連接運(yùn)算符:是用于兩個(gè)字符串型數(shù)據(jù)之間的運(yùn)算符,它的作用是將兩個(gè)字符串連接起來(lái)。
在JavaScript中,可以使用++=運(yùn)算符對(duì)兩個(gè)字符串進(jìn)行連接運(yùn)算。
三目操作符(條件運(yùn)算符)? 根據(jù)不同的條件,執(zhí)行不同的操作/返回不同的值。

10 JavaScript條件語(yǔ)句 分為四種條件語(yǔ)句:

If 語(yǔ)句:只有當(dāng)指定條件為true時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼

if-else 語(yǔ)句:當(dāng)條件為true時(shí)執(zhí)行代碼,當(dāng)條件為false時(shí)執(zhí)行其他代碼

if-else if-else 語(yǔ)句:使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行

switch 語(yǔ)句:同上,switch的工作原理呢?

首先設(shè)置表達(dá)式n(通常是一個(gè)變量),隨后表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè)case值作比較;
如果存在匹配則該關(guān)聯(lián)代碼塊執(zhí)行;然后使用break來(lái)阻止代碼自動(dòng)的向下一個(gè)case運(yùn)行;
default關(guān)鍵詞來(lái)規(guī)定匹配不存在時(shí)做的事情。

11 JavaScript 不同類型的循環(huán) 常見(jiàn)的循環(huán)主要是三種:for 循環(huán)、while 循環(huán)、do/while 循環(huán)。

for 循環(huán):代碼塊有一定的次數(shù)。for 有三個(gè)表達(dá)式:1 聲明循環(huán)變量 2 判斷循環(huán)條件 3 更新循環(huán)變量
特點(diǎn):先判斷再執(zhí)行,與while相同。
while 循環(huán):當(dāng)指定的條件為true時(shí)循環(huán)指定的代碼塊
do/while 循環(huán):同while循環(huán)一樣。
特點(diǎn):先執(zhí)行再判斷,即使初始條件不成立,do/while循環(huán)至少執(zhí)行一次。

循環(huán)結(jié)構(gòu)的執(zhí)行步驟:

聲明變量

判斷循環(huán)條件

執(zhí)行循環(huán)體操作

更新循環(huán)變量

最后執(zhí)行循環(huán)2-4,直到條件不成立,跳出循環(huán)

12 JavaScript Break 和Continue 語(yǔ)句

break:跳出本層循環(huán),繼續(xù)執(zhí)行循環(huán)后面的語(yǔ)句。
如果循環(huán)有多層,則break只能跳出一層。
continue:跳過(guò)本次循環(huán)剩余的代碼,繼續(xù)執(zhí)行下一次循環(huán)。
對(duì)與for循環(huán),continue之后執(zhí)行的語(yǔ)句,是循環(huán)變量更新語(yǔ)句i++;
對(duì)于while、do-while循環(huán),continue之后執(zhí)行的語(yǔ)句,是循環(huán)條件判斷;
因此,使用這兩個(gè)循環(huán)時(shí),必須將continue放到i++之后使用,否則,continue將跳過(guò)i++進(jìn)入死循環(huán)。

13 JavaScript 錯(cuò)誤處理使用 try ... catch ... finally

一種是程序?qū)懙倪壿嫴粚?duì),導(dǎo)致代碼執(zhí)行異常;
一種是執(zhí)行過(guò)程中,程序可能遇到無(wú)法預(yù)測(cè)的異常情況而報(bào)錯(cuò)。
throw 聲明
onerror 事件

14 JavaScript 框架(庫(kù)) jQuery 庫(kù)

jQuery 函數(shù)是 $() 函數(shù)(jQuery 函數(shù))。
jQuery 庫(kù)包含以下功能
HTML 元素選取、元素操作、CSS 操作、HTML 事件函數(shù)、JavaScript 特效和動(dòng)畫、HTML DOM 遍歷和修改、AJAX、Utilities
面向?qū)ο缶幊贪?創(chuàng)建對(duì)象、原型繼承、class繼承。
類是對(duì)象的類型模板;實(shí)例是根據(jù)類創(chuàng)建的對(duì)象。
jQuery 優(yōu)點(diǎn)

分布規(guī)模小

學(xué)習(xí)曲線平緩,在線幫助多

語(yǔ)法簡(jiǎn)潔

容易延伸

消除了瀏覽器差

簡(jiǎn)潔的操作DOM的方法

輕松實(shí)現(xiàn)動(dòng)畫

修改CSS等各種操作

缺點(diǎn)

增加了本機(jī)API的速度開(kāi)銷

瀏覽器兼容性的改善降低了它的性能

用法扁平

有些開(kāi)發(fā)人員抵制使用

AngularJs企業(yè)級(jí)框架

其最為核心的特性為:MVC、模塊化、自動(dòng)化雙向數(shù)據(jù)綁定、語(yǔ)義化標(biāo)簽及依賴注入等。

React框架

React被稱為構(gòu)建用戶接口而提供的Javascript庫(kù);主要用來(lái)構(gòu)建UI,其專注于MVC的V部分。

vue未來(lái)的主流

vue.js 是用來(lái)構(gòu)建web應(yīng)用接口的一個(gè)庫(kù),技術(shù)上,Vue.js 重點(diǎn)集中在MVVM模式的ViewModel層,它連接視圖和數(shù)據(jù)綁定模型通過(guò)兩種方式。

Require Js

RequireJs是一個(gè)javascript模塊加載器,提高網(wǎng)頁(yè)的加載速度和質(zhì)量。

Backone框架

Backone是一個(gè)幫助開(kāi)發(fā)重量級(jí)Javascript應(yīng)用的框架,但它本身簡(jiǎn)單的框架。
其文件體積很小,壓縮后只有5.3KB,提供了全功能的MVC框架及路由。
Backone強(qiáng)制依賴于Underscore.js,非強(qiáng)制依賴于jQuery/Zepto。

D3.js

數(shù)據(jù)可視化和圖表是Web應(yīng)用中不可或缺的一部分。
d3.js就是最流行的可視化庫(kù)之一,它允許綁定任意數(shù)據(jù)到DOM,然后將數(shù)據(jù)驅(qū)動(dòng)轉(zhuǎn)換應(yīng)用到Document中。

15 JavaScript this

方法中的this指向調(diào)用它所在方法的對(duì)象。
多帶帶使用this,指向全局對(duì)象。
函數(shù)中,函數(shù)所屬者默認(rèn)綁定到this上。
this使用場(chǎng)合:
-全局環(huán)境

構(gòu)造函數(shù)

對(duì)象的方法

Node

16 JavaScript閉包

閉包是指有權(quán)訪問(wèn)另一個(gè)函數(shù)作用域中的變量的函數(shù)。
創(chuàng)建閉包就是創(chuàng)建了一個(gè)不銷毀的作用域。
閉包需要了解的幾個(gè)概念: 作用域鏈、執(zhí)行上下文、變量對(duì)象。
閉包的好處有

緩存

面向?qū)ο笾械膶?duì)象

實(shí)現(xiàn)封裝,防止變量跑到外層作用域中,發(fā)生命名沖突

匿名自執(zhí)行函數(shù),匿名自執(zhí)行函數(shù)可以減少內(nèi)存消耗

壞處

內(nèi)存消耗

涉及到跨作用域訪問(wèn)是時(shí)會(huì)導(dǎo)致性能耗損

17 JS Window

所有瀏覽器都支持 window 對(duì)象。它表示瀏覽器窗口。
所有 JavaScript 全局對(duì)象、函數(shù)以及變量均自動(dòng)成為 window 對(duì)象的成員。
全局變量是 window 對(duì)象的屬性。
全局函數(shù)是 window 對(duì)象的方法。

18 JavaScript JSON

JSON 是一種輕量級(jí)的數(shù)據(jù)交換格式;JSON是獨(dú)立的語(yǔ)言 ;JSON 易于理解。
語(yǔ)法規(guī)則

數(shù)據(jù)為 鍵/值 對(duì)。

數(shù)據(jù)由逗號(hào)分隔。

大括號(hào)保存對(duì)象。

方括號(hào)保存數(shù)組。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/104634.html

相關(guān)文章

  • 10個(gè)學(xué)習(xí)JavaScript的免費(fèi)在線資源

    摘要:學(xué)習(xí)最好的方法之一是通過(guò)視頻教程進(jìn)行在線學(xué)習(xí)。這里列出十個(gè)免費(fèi)在線學(xué)習(xí)的地址,讓你的學(xué)習(xí)更方便更有效。是一個(gè)非常好的免費(fèi)在線學(xué)習(xí)得網(wǎng)站。為初學(xué)者增加了大量的指南和其他資源。在這里,你可以找到有關(guān)和的免費(fèi)在線課程。 我們都聽(tīng)說(shuō)過(guò) JavaScript 這個(gè)術(shù)語(yǔ),但我們中只有少數(shù)人知道它的用法和應(yīng)用。這里的我們中的少數(shù)是指技術(shù)青年、網(wǎng)絡(luò)程序員和IT專業(yè)人員。但是,對(duì)于外行來(lái)說(shuō),JavaS...

    chenatu 評(píng)論0 收藏0
  • 基礎(chǔ)鞏固:JavaScript基礎(chǔ)總結(jié)(基本概念篇)

    摘要:基礎(chǔ)鞏固基礎(chǔ)總結(jié)使用已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)的使用范圍原來(lái)越廣泛。這里要注意,務(wù)必將基礎(chǔ)部分掌握牢靠,磨刀不誤砍柴功,只有將基礎(chǔ)部分掌握并建立起系統(tǒng)的知識(shí)體系,在后面學(xué)習(xí)衍生的其他模式才能游刃有余。 基礎(chǔ)鞏固:JavaScript基礎(chǔ)總結(jié) 使用JavaScript已經(jīng)好幾年了,由于工作主要是做服務(wù)端開(kāi)發(fā),在工作中逐漸發(fā)現(xiàn)JavaScript的使用范圍原...

    YuboonaZhang 評(píng)論0 收藏0
  • 2017年 最好的javascript 書(shū)籍

    摘要:請(qǐng)記住,這些書(shū)中的一些可能不是最新的,但概念和基礎(chǔ)仍應(yīng)適用。是最好的老師之一。的秘密由部分組成。在你完成這些書(shū)后,查看書(shū)籍和最好的本土?xí)? 我看過(guò)三本,第1本,第二本,第四本。第一本買的的實(shí)體書(shū),其他兩本看的是電子書(shū)。第一本是大名鼎鼎老道寫的,書(shū)很薄,但是非常經(jīng)典。javascirpt忍者秘籍是jquery的作者寫的,也是非常經(jīng)典。you dont kown js系列也是非常好??戳?..

    mingzhong 評(píng)論0 收藏0
  • 前端練級(jí)攻略(第二部分)

    摘要:是文檔的一種表示結(jié)構(gòu)。這些任務(wù)大部分都是基于它。這個(gè)實(shí)踐的重點(diǎn)是把你在前端練級(jí)攻略第部分中學(xué)到的一些東西和結(jié)合起來(lái)。一旦你進(jìn)入框架部分,你將更好地理解并使用它們。到目前為止,你一直在使用進(jìn)行操作。它是在前端系統(tǒng)像今天這樣復(fù)雜之前編寫的。 本文是 前端練級(jí)攻略 第二部分,第一部分請(qǐng)看下面: 前端練級(jí)攻略(第一部分) 在第二部分,我們將重點(diǎn)學(xué)習(xí) JavaScript 作為一種獨(dú)立的語(yǔ)言,如...

    BWrong 評(píng)論0 收藏0
  • 程序員練級(jí)攻略(2018):前端基礎(chǔ)和底層原理

    摘要:下面我們從前端基礎(chǔ)和底層原理開(kāi)始講起。對(duì)于和這三個(gè)對(duì)應(yīng)于矢量圖位圖和圖的渲染來(lái)說(shuō),給前端開(kāi)發(fā)帶來(lái)了重武器,很多小游戲也因此蓬勃發(fā)展。這篇文章受眾之大,后來(lái)被人重新整理并發(fā)布為,其中還包括中文版。 showImg(https://segmentfault.com/img/bVbjM5r?w=1142&h=640); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! 這...

    widuu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<