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

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

生活随笔

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

javascript

JavaScript基础语法(一)

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

目錄

前言

js變量

數(shù)據(jù)類(lèi)型

數(shù)據(jù)類(lèi)型轉(zhuǎn)換


傳送門(mén) ——>?JavaScript基礎(chǔ)語(yǔ)法(二)、JavaScript之?dāng)?shù)組與函數(shù)(三)、JavaScript之對(duì)象(四)、JavaScript階段二之Web APIs

前言

歷史:布蘭登.艾奇(1961~),在1995年中利用10天完成了JavaScript的設(shè)計(jì)

JavaScript是世界上最流行的語(yǔ)言之一,是一種運(yùn)行在客戶(hù)端的腳本語(yǔ)言( Script是腳本的意思)腳本語(yǔ)言:不需要編譯,運(yùn)行過(guò)程中由js解釋器(js 引擎)逐行來(lái)進(jìn)行解釋并執(zhí)行。現(xiàn)在也可以基于Node.js技術(shù)進(jìn)行服務(wù)器端編程

解釋型與編譯型語(yǔ)言

JS屬于解釋型語(yǔ)言。

計(jì)算機(jī)不能直接理解任何除機(jī)器語(yǔ)言以外的語(yǔ)言,所以必須要把程序員所寫(xiě)的程序語(yǔ)言翻譯成機(jī)器語(yǔ)言才能執(zhí)行程序。程序語(yǔ)言翻譯成機(jī)器語(yǔ)言的工具,被稱(chēng)為翻譯器。

  • 翻譯器翻譯的方式有兩種:一個(gè)是編譯,另外一個(gè)是解釋。兩種方式之間的區(qū)別在于翻譯的時(shí)間點(diǎn)不同
  • 編譯器是在代碼執(zhí)行之前進(jìn)行編譯,生成中間代碼文件
  • 解釋器是在運(yùn)行時(shí)進(jìn)行及時(shí)解釋,并立即執(zhí)行(當(dāng)編譯器以解釋方

js作用

  • 表單動(dòng)態(tài)校驗(yàn)(密碼強(qiáng)度檢測(cè))(JS產(chǎn)生最初的目的)
  • 網(wǎng)頁(yè)特效
  • 服務(wù)端開(kāi)發(fā)(Node.js)(現(xiàn)在前后端通吃了)
  • 桌面程序(Electron)
  • App(Cordova)
  • 控制硬件-物聯(lián)網(wǎng)(Ruff)
  • 游戲開(kāi)發(fā)(cocos2d-js)

我們都知道前端三大件為html,css,js,js用來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯和頁(yè)面控制,相當(dāng)于實(shí)現(xiàn)人的各種動(dòng)作

瀏覽器執(zhí)行JS的過(guò)程

瀏覽器分成兩部分∶渲染引擎和JS引擎

  • 渲染引擎∶用來(lái)解析HTML與CSS,俗稱(chēng)內(nèi)核,比如chrome瀏覽器的blink,老版本的webkit
  • JS引擎:也稱(chēng)為JS解釋器。用來(lái)讀取網(wǎng)頁(yè)中的JavaScript代碼,對(duì)其處理后運(yùn)行,比如chrome 瀏覽器的V8

瀏覽器本身并不會(huì)執(zhí)行JS代碼,而是通過(guò)內(nèi)置JavaScript引擎(解釋器)來(lái)執(zhí)行S代碼。JS引擎執(zhí)行代碼時(shí)逐行解釋每一句源碼(轉(zhuǎn)換為機(jī)器語(yǔ)言),然后由計(jì)算機(jī)去執(zhí)行,所以JavaScript 語(yǔ)言歸為腳本語(yǔ)言,會(huì)逐行解釋執(zhí)行。

即瀏覽器通過(guò)JS引擎將js這種高級(jí)語(yǔ)言逐行轉(zhuǎn)換為計(jì)算機(jī)能識(shí)別的機(jī)器語(yǔ)言

js組成

?ECMAScript是由ECMA國(guó)際(原歐洲計(jì)算機(jī)制造商協(xié)會(huì))進(jìn)行標(biāo)準(zhǔn)化的一門(mén)編程語(yǔ)言,這種語(yǔ)言在萬(wàn)維網(wǎng)上應(yīng)用廣泛,它往往被稱(chēng)為JavaScript或JScript,但實(shí)際上后兩者是ECMAScript語(yǔ)言的實(shí)現(xiàn)和擴(kuò)展。

?

?ECMAScript : ECMAScript規(guī)定了JS的編程語(yǔ)法和基礎(chǔ)核心知識(shí),是所有瀏覽器廠商共同遵守的一套JS語(yǔ)法工業(yè)標(biāo)準(zhǔn)。我們接下來(lái)學(xué)習(xí)的就是JavaScript語(yǔ)法。

?即 js =?ECMAScript(基礎(chǔ)語(yǔ)法) + DOM + BOM 組成

JS寫(xiě)法

js寫(xiě)法有三種

  • 行內(nèi)式,即直接寫(xiě)在html元素中
  • 內(nèi)嵌式也寫(xiě)在html頁(yè)面中,只不過(guò)用<script>xxx</script>進(jìn)行包裹
  • 外部式,通過(guò)<script src='js.js'></script>將外部的js文件進(jìn)行引入

?js注釋

<script>//單行注釋/*多行注釋*/ </script>
  • html注釋:<!-- xxxx -->
  • php注釋://
  • python注釋: #

JS輸入輸出語(yǔ)句

為了方便信息的輸入輸出,JS中提供了一些輸入輸出語(yǔ)句,其常用的語(yǔ)句如下∶

<!DOCTYPE html> <html> <head><meta charset="utf-8"><title>js練習(xí)</title> </head> <body><script>//這是一個(gè)輸入框prompt("請(qǐng)輸入年齡");//alert彈出警示框,展示給用戶(hù)的alert('計(jì)算的結(jié)果是');//console.log,給程序員測(cè)試用的console.log('我是程序員能看到的');</script> </body> </html>

彈出輸入框?

?console.log

js變量

var age;? ? ? //聲明一個(gè)名稱(chēng)為age的變量,變量名區(qū)分大小寫(xiě)
  • var是一個(gè)JS關(guān)鍵字,用來(lái)聲明變量( variable變量的意思)。使用該關(guān)鍵字聲明變量后,計(jì)算機(jī)會(huì)自動(dòng)為變量分配內(nèi)存空間,不需要程序員管
  • age是程序員定義的變量名,我們要通過(guò)變量名來(lái)訪問(wèn)內(nèi)存中分配的空間

?聲明變量并賦值,稱(chēng)為變量的初始化

<script>var name = "cc";console.log(name); //控制臺(tái)輸入變量值 </script>

?案例1:

瀏覽器彈出輸入框,用戶(hù)輸入內(nèi)容后將該內(nèi)容進(jìn)行彈窗

<script>var name = prompt('請(qǐng)輸入姓名');alert(name); </script>

?同時(shí)聲明多個(gè)變量時(shí),只需要寫(xiě)一個(gè)var,多個(gè)變量名之間使用英文逗號(hào)隔開(kāi)。

var age = 10,name = 'zs', sex = 2;

?案例2——兩變量值交換

需要一個(gè)臨時(shí)變量作為緩沖

<script>var temp;var apple1 = "青蘋(píng)果";var apple2 = "紅蘋(píng)果";temp = apple2;apple2 = apple1;apple1 = temp;console.log(apple1); //輸出紅蘋(píng)果console.log(apple2); //輸出青蘋(píng)果 </script>

數(shù)據(jù)類(lèi)型

在計(jì)算機(jī)中,不同的數(shù)據(jù)所需占用的存儲(chǔ)空間是不同的,為了便于把數(shù)據(jù)分成所需內(nèi)存大小不同的數(shù)據(jù),充分利用存儲(chǔ)空間,于是定義了不同的數(shù)據(jù)類(lèi)型。

變量是用來(lái)存儲(chǔ)值的所在處,它們有名字和數(shù)據(jù)類(lèi)型。變量的數(shù)據(jù)類(lèi)型決定了如何將代表這些值的位存儲(chǔ)到計(jì)算機(jī)的內(nèi)存中。JavaScript是一種弱類(lèi)型或者說(shuō)動(dòng)態(tài)語(yǔ)言。這意味著不用提前聲明變量的類(lèi)型,在程序運(yùn)行過(guò)程中,類(lèi)型會(huì)被自動(dòng)確定。像python一樣不需要聲明變量類(lèi)型

在代碼運(yùn)行時(shí),變量的數(shù)據(jù)類(lèi)型是由JS引擎根據(jù)=右邊變量值的數(shù)據(jù)類(lèi)型來(lái)判斷的,運(yùn)行完畢之后,變量就確定了數(shù)據(jù)類(lèi)型。

JavaScript擁有動(dòng)態(tài)類(lèi)型,同時(shí)也意味著相同的變量可用作不同的類(lèi)型:

  • var x = 6;? ? ? ? ? ? ? ? ? ? ? //x為數(shù)字類(lèi)型
  • var x? = "Bi11";? ? ? ? ? ? ?//×為字符串類(lèi)型

1. 數(shù)據(jù)類(lèi)型分類(lèi)

JS把數(shù)據(jù)類(lèi)型分為兩類(lèi):

  • 簡(jiǎn)單數(shù)據(jù)類(lèi)型( Number, string,Boolean , Undefined,Null )
  • 復(fù)雜數(shù)據(jù)類(lèi)型( object)

在js中八進(jìn)制前面加0,十六進(jìn)制前面加0x

  • lnfinity ,代表無(wú)窮大,大于任何數(shù)值
  • -Infinity,代表無(wú)窮小,小于任何數(shù)值
  • NaN ,Not a number,代表一個(gè)非數(shù)值

typeof 輸出數(shù)據(jù)類(lèi)型

<script>var age = '12';console.log(typeof age); //輸出string </script>

2 isNaN

判斷是否非數(shù)字,是數(shù)字返回false,不是返回true

console.log(isNaN(12)); //返回false

3. 字符串型

字符串使用單引號(hào)或者雙引號(hào)包裹,因?yàn)镠TML標(biāo)簽里里面的屬性使用的是雙引號(hào),所以js推薦使用單引號(hào)

4. 字符串轉(zhuǎn)義符

類(lèi)似HTML里面的特殊字符,字符串中也有特殊字符,我們稱(chēng)之為轉(zhuǎn)義符。轉(zhuǎn)義符都是\開(kāi)頭的,常用的轉(zhuǎn)義符及其說(shuō)明如下:

?5. 字符串長(zhǎng)度

獲取字符串的長(zhǎng)度 length

<script>var uname = "sdfsfddsf df ";console.log(uname.length); </script>

python中是len(字符串)

6. 字符串拼接

  • 多個(gè)字符串之間可以使用進(jìn)行拼接,其拼接方式為 字符串+任何類(lèi)型=拼接之后的新字符串 。即拼接的字符中只要有字符串類(lèi)型,那么拼接后就是為字符串類(lèi)型
  • 拼接前會(huì)把與字符串相加的任何類(lèi)型轉(zhuǎn)成字符串,再拼接成一個(gè)新的字符串
<script>console.log("沙漠"+"駱駝"); //字符串的沙漠駱駝console.log("我才"+18); //我才18console.log(true+"我才"); //true我才console.log('12'+12); //1212console.log(12+12); //24 </script>

數(shù)字相加,字符相連

同樣,字符串與變量相連也是用+號(hào),'我今年'+age+'歲了'

7. 布爾型 Boolean

布爾類(lèi)型有兩個(gè)值: true和false ,其中 true表示真(對(duì)),而false表示假(錯(cuò))。布爾型和數(shù)字型相加的時(shí)候,true的值為1 ,false的值為0。

console.log (true + 1);? ? // 2 console.log(false + 1) ;? ?//?1

8. Undefined和Null

一個(gè)聲明后沒(méi)有被賦值的變量會(huì)有一個(gè)默認(rèn)值undefined(如果進(jìn)行相連或者相加時(shí),注意結(jié)果}

null為空值,即什么值都沒(méi)有,比如 null+1,值就為1

數(shù)據(jù)類(lèi)型轉(zhuǎn)換

1. 轉(zhuǎn)換為字符串

?加號(hào)拼接字符串的方式也稱(chēng)為隱式轉(zhuǎn)換

?2. 轉(zhuǎn)換為數(shù)字型

<script>console.log(parseInt('3.14')); //取整,輸出3console.log(parseInt('3.99')); //取整,輸出3console.log(parseInt('120px')); //120,會(huì)去掉px這個(gè)單位console.log(parseFloat('3.23')); //不會(huì)取整,數(shù)字原樣輸出console.log(Number('3.14')); 不會(huì)取整,數(shù)字原樣輸出 </script>

?3. 轉(zhuǎn)換為布爾型

Boolean(),將其他類(lèi)型轉(zhuǎn)換為布爾型,結(jié)果為true或者false

<script>console.log(Boolean(2)); //輸出trueconsole.log(Boolean(0)); //false </script>

標(biāo)識(shí)符

標(biāo)識(shí)(zhi)符:就是指開(kāi)發(fā)人員為變量、屬性、函數(shù)、參數(shù)取的名字


感謝黑馬程序員分享的web前端視頻:https://www.bilibili.com/video/BV1ux411d75J?p=14

總結(jié)

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

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