日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JavaScript基础要点

發(fā)布時(shí)間:2024/3/13 javascript 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript基础要点 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、值和類型及運(yùn)算

?

JavaScript中的六種基本值類型

  數(shù)字(number)、字符串(string)、布爾值(boolean)、對(duì)象(object)、函數(shù)(function)、未定義類型(undefined)。

?

NaN

  NaN是number類型,但我們用它來(lái)表示 “非數(shù)值” 。這樣來(lái)理解它:對(duì)于一個(gè)期望返回number類型值的運(yùn)算,但js卻對(duì)表達(dá)式中的運(yùn)算過(guò)程很困惑,于是就返回了一個(gè)NaN(not a number)給你,用來(lái)告訴你這個(gè)運(yùn)算是非法的,結(jié)果是不精確的或毫無(wú)意義的。

  在js中只有一個(gè)值不等于其自身,這個(gè)值就是NaN!

console.log(typeof NaN); console.log("string" - 1) console.log(NaN == NaN) -------------------------------------------

? number
? NaN
? false

?

變量

  我們可以把變量想象成許多的觸須,而不是一個(gè)箱子。變量中并不包含值,而是會(huì)引用這些值。

?

字符串

  在對(duì)字符串進(jìn)行比較時(shí),JavaScript按照從左到右逐個(gè)比較每個(gè)字符對(duì)應(yīng)的ASCII碼值。

?

強(qiáng)制類型轉(zhuǎn)換

  當(dāng)運(yùn)算符作用在錯(cuò)誤類型的值上時(shí),JavaScript會(huì)自動(dòng)將其轉(zhuǎn)換成自己期望的值,這種操作稱為強(qiáng)制類型轉(zhuǎn)換。

?

邏輯運(yùn)算符的短路特性

  對(duì)于或運(yùn)算符 || ,從左到右遇見(jiàn)第一個(gè)true就發(fā)生短路,對(duì)于與運(yùn)算符 && ,從左到右遇見(jiàn)第一個(gè)false就發(fā)生短路。短路之后立刻就返回這個(gè)短路值,不再進(jìn)行計(jì)算后面的表達(dá)式。

?

null 和 undefined

  對(duì)于 == 運(yùn)算,如果運(yùn)算符兩側(cè)存在null或undefined,那么只有兩側(cè)均為null 或undefined時(shí),結(jié)果才為true。

console.log(null == 0) console.log(null == undefined) -------------------------------------------

? false
? true

?

二、函數(shù)

?

定義

  定義一個(gè)函數(shù)就是定義一個(gè)普通的變量,只不過(guò)變量的類型是函數(shù)(function)。例如,下面的代碼定義了一個(gè)變量square,引用了一個(gè)函數(shù):

var square = function(x){return x * x; } console.log(square(12));

---------------------------------------

144

  和大多數(shù)編程語(yǔ)言一樣,JavaScript也可以這樣聲明函數(shù):

function square(x){return x * x; } console.log(square(12)); ---------------------------------------

144

?

  可以在任何位置調(diào)用已經(jīng)聲明的函數(shù)。這是因?yàn)?#xff0c;當(dāng)代碼執(zhí)行時(shí),函數(shù)的聲明會(huì)被移到其作用域的頂端,所有作用域內(nèi)的函數(shù)調(diào)用都不會(huì)有任何問(wèn)題。并且在JavaScript中,函數(shù)可以嵌套定義。

?

參數(shù) 和 作用域

  在函數(shù)內(nèi)部創(chuàng)建的變量和參數(shù),都屬于函數(shù)的局部變量。

var x = 0; var test = function(x){x = 1; } console.log(x);  //可以看到全局變量中x的值并未改變
---------------------------------------

0

?

  JavaScript對(duì)傳入函數(shù)的參數(shù)數(shù)量沒(méi)有限制。如果有多余的參數(shù),則它們會(huì)被忽略掉;未傳入實(shí)值的參數(shù),會(huì)被賦值為 undefined。

?

創(chuàng)建一個(gè)匿名函數(shù)并立刻執(zhí)行的語(yǔ)法

要用小括號(hào)把函數(shù)的定義括起來(lái)。例如:

(function() {console.log("Hello"); })();

?

如果寫成下面這樣,將會(huì)報(bào)錯(cuò):

function() {console.log("Hello"); }(); // SyntaxError

?

對(duì)于有參數(shù)的匿名函數(shù)可以這樣寫:

var x = (function(x) {return x*x; })(3); console.log(x); // 9

?

?

?三、對(duì)象類型:object

對(duì)象

object類型的值可以存儲(chǔ)任意類型的屬性,我們可以隨意增刪這些屬性。一種創(chuàng)建對(duì)象的方法是使用花括號(hào){}:

/*
屬性之間用逗號(hào)分隔,屬性定義方式是 propName: propValue,
如果propName不是有效的變量名或數(shù)字,則需使用引號(hào)將其括起來(lái)

var
me = {myName: "Mr Hu",myAge: 20,myHobby: ["English", "sing", "travel", "chat"],"I Love You": true, } console.log("my age is " + me.myAge); console.log("I Love You:" + me["I Love You"]); console.log("The type of me is: " + typeof me);

------------------------------------------------------------

? my age is 20
? I Love You:true
? The type of me is: object

?學(xué)過(guò)python的朋友會(huì)發(fā)現(xiàn)JavaScript中的對(duì)象和Python中的字典十分十分相似。

?

?屬性

在JavaScript中,幾乎所有的值都有屬性,但null和undefined沒(méi)有。

訪問(wèn)屬性的方法有兩種:

  • 使用 "."操作符,該操作符之后必須接一個(gè)合法的變量名,即屬性名稱。
  • 使用 [],如果使用[],則JavaScript會(huì)將方括號(hào)中的表達(dá)式的返回值作為屬性名稱。
  • ?

    ?= 運(yùn)算符

    我們可以使用 = 運(yùn)算符來(lái)給一個(gè)屬性表達(dá)式賦值。如果該屬性已經(jīng)存在,那么新值將替換舊值;如果之前不存在該屬性,則會(huì)自動(dòng)創(chuàng)建該屬性并賦予新值。

    ?

    delete 運(yùn)算符

    我們可以使用 delete 運(yùn)算符移除目標(biāo)對(duì)象的指定屬性。

    ?

    四、語(yǔ)法

    分號(hào)

    JavaScript并不強(qiáng)制要求在每個(gè)語(yǔ)句的結(jié)尾加分號(hào),瀏覽器中負(fù)責(zé)執(zhí)行js代碼的引擎會(huì)自動(dòng)在每個(gè)語(yǔ)句之后加上分號(hào),但這種情況可能會(huì)改變程序的語(yǔ)義,導(dǎo)致運(yùn)行結(jié)果與我們的期望不一致。所以建議在每個(gè)語(yǔ)句后面手動(dòng)加上分號(hào)。

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?代碼編寫規(guī)范

      建議在循環(huán)語(yǔ)句或if語(yǔ)句中,無(wú)論其中執(zhí)行體中是有一行代碼還是多行代碼,都將其包裝在花括號(hào)中。

      建議使用駝峰命名。

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/huwt/p/10597502.html

    總結(jié)

    以上是生活随笔為你收集整理的JavaScript基础要点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。