什麼是javascript?javascript需要學哪些內容?這篇文章告訴你!

2020-12-05 尚學堂前端學院

主要內容:

js的前世今生js的語法結構Javascript名詞解釋Javascript變量命名規則(重點)Javascript數據類型(重點)Javascript運算符(重點)學習目標:

四、Javascript變量命名規則(重點)

4.1 聲明變量

變量是幹什麼的,是存儲數據的,那存儲什麼種類數據呢?

聲明變量使用關鍵字:var(variable)

你給它賦什麼類型的值,那麼這個變量就是什麼數據類型。

內存中堆區和棧區

4.1.1 單獨聲明

4.1.2 多個變量聲明,中間用逗號隔開

4.1.3 重複聲明

4.1.4 遺漏聲明

4.1.5 顯示聲明與隱式聲明區別

JS中變量聲明分顯式聲明和隱式聲明。

var name = 'muzidigbig';//顯示聲明

name = 'muzidigbig';//隱式聲明(為全局對象(window)的一個屬性

4.2 JavaScript 嚴格模式(use strict)

4.3 變量提升

變量一定要先聲明後使用,如果先使用後聲明,js的內部機制自然使變量提升。

4.4 let 和var 的區別

var:variable,它是可變的。

let:塊作用域。

4.5 變量的命名規則

變量的命名:變量是由字母,數字,下劃線,$組成,但第一個字符必須是字母或者是下劃線,$開頭。

$:不建議使用,它可能會和其他的框架語法衝突,或者是函數的名字衝突

(1)JavaScript語言的標識符對大小寫敏感,所以a和A是兩個不同的標識符。

(2)首字母可以是任意字母以及美元符號和下劃線。剩餘可以是任意字母,美元符號,下劃線和數字

(3)不能使用javascript中的關鍵字(保留字)來命名變量

(4)中文也可以聲明變量,不建議使用它。

4.6 變量的命名方式

1) 變量的命名規則

第一種命名:帕斯卡命名(大駝峰式命名

每個單詞的首字符大寫

例如:UserName。

第二種命名小駝峰式命名

首個單詞的首字母小寫其他後面單詞的首字母大寫

例如:

例如:userName

第三種命名:匈牙利式命名

數據類型+單詞(變量名)

Integer+age

Iage = 25;

String+address

Saddress = 「西安」;

五、Javascript數據類型(重點)

數據類型分類:

在此基本的數據類型的基礎上又增加了一個基本數據類型:Symbol,Symbol 是 ES6 引入了一種新的原始數據類型,表示獨一無二的值。

5.1 列印變量的數據類型:typeof

請注意:

NaN 的數據類型是 number

數組(Array)的數據類型是 object

日期(Date)的數據類型為 object

null 的數據類型是 object

未定義變量的數據類型為 undefined

5.1 基本數據類型

5.1.1數字類型(number)

c語言中:

int(整數),float(單精度浮點型),double(雙精度浮點型),char(字符),string(字符串)。

二進位(binary):0b101010101

八進位:0o2535

十六進位:0x69852

進位轉換:

toSring():十進位轉換其他的進位

parseInt():其他的進位轉換十進位

最大值:MAX_VALUE

最小值:MIN_VALUE

浮點數不能比較

NaN:Not aNumber:不是一個數值

一些特殊情況(除數為0,最大值變化)

5.1.3布爾類型(boolean)

true(真),false(假),都是小寫的。

TRUE,FALSE,True,False:這些都不正確。

5.1.2字符串類型(string)

字符串:加單引號或者是雙引號

字符串連接:使用的是+

模板字符串:

5.1.4 undefined

typeof

5.1.5 null

typeof

null == undefined

5.1.6 null和undefined的區別

1.類型不相等

2.強制類型轉換值不一樣

var re1 = Number(undefined);//NaN

var re2 = Number(null);//0

3. 比較

Null == undefined//true

Null === undefined//false

5.2 引用類型(object)

六、Javascript運算符(重點)

6.1算術運算符

+,-,*,/,%(求餘數),++,--,**(求冪數-es7新增)

實例練習:

6.2一元運算符

+(正),-(負數),++,--

兩數交換

6.3 比較(關係)運算符

>,<,>=,<=,!=,!==(不全等),==,===(全等:值和類型都相等)

6.4邏輯運算符

&&:邏輯與,兩個必須同時為真

true && true :true

false && true:false

true && false:false

false && false :false

八哥總結說明:

如果前面的表達式是true,就取後面的值,如果前面的表達式為false,就取前面的值。

||:邏輯或,只要有其中一個為真就可以

true || true :true

false || true:true

true || false:true

false || false :false

八哥總結說明:

如果前面的表達式是true,就取前面的值,如果前面的表達式為false,就取後面的值。

!:邏輯非,取反

例題:

怎樣輸出:true和false

console.log(Boolean(0) && Boolean('abc'));

短路問題:輸出結果是?

6.5賦值運算符

=,+=,-=,*=,/=,%=

=:賦值

==:比較(等於)

===:比較(全等)

6.6條件運算符(三目運算符)

表達式1?表達式2:表達式3

如果表達式1為真(true),計算表達式2的值,如果為假(false),計算表達式3的值。

6.7等性運算符

Null==undefined//true

Null===undefined//false

true == 1;

false ==0;

NaN == NaN//false

NaN !== NaN//true

6.8運算符的優先級

6.9 隱式類型轉換

6.10強制類型轉換

Number():轉化成數值

只有純數字的才能轉換得到真實數字。

布爾類型轉換為Number:true轉換為1、false轉換為0。

未定義類型轉換為Number:underfind轉換為NaN空類型轉換為Number:null轉換為0

String():轉化成字符串

Boolean():轉化成布爾

八哥總結說明:

1. NaN ,0 ,"",'' ,underfind, null 轉換為false。

2. 正數,負數都是:true

3. 只要不是空字符串都是:true

parseInt():將字符串轉化為整數

parseFloat():將字符串轉化為浮點數

作業:

1.變量加var和不加var的區別

2.變量的提升

3.短路的應用

相關焦點

  • 七天學會javascript第一天javascript介紹
    前幾周寫了幾篇關於入門php的文章,反響還不錯,之前簡單的提到了JavaScript,這周小編重點介紹JavaScript讓大家可以在一周時間內掌握這門前端語言的基本用法。javascript介紹javascript數據類型javascript運算符javascript對象javascript Date對象javascript String對象JavaScript常用於實現一些前端效果。前些年流行的flash已經慢慢的被淘汰,js盛行起來。javascript :客戶端編程。javascript是由客戶端去解釋運行的。
  • javascript在自動化測試項目中的應用「軟體測試開發入門教程」
    或者在自動化測試中應用過可能很多朋友javascript都是在Html中應用。我們做測試就是會應用在自動化測試當中不管學什麼技術,都要活學活用。基礎比較差的朋友,如果你覺得前方高能,可以先去把基礎鞏固一下,我始終認為一個點如果你在網際網路行業,做測試工程師。
  • 什麼是JavaScript對象?如何創建並引用?這就告訴你!
    主要內容:對象的創建鍵名和鍵值對象的引用Math對象Date對象學習目標:為什麼要使用對象?1.1 什麼是類類:就是具有相同的屬性和方法的集合。人類,動物類,家電類等。1.2 什麼是對象對象:就類中的一個具體的實物。人類-具體某一個人(張三丰)。動物類-(一個具體的動物-東北虎),家電類-(具體一個比如說電視。)js 中我們包含哪些對象呢?
  • 學習前端需要知道哪些內容學習起來更容易
    任何企業都離不開前端,因為我們需要自己的官方網站。我知道有些人開始從各行各業轉行到前端。有受周圍朋友影響的。甚至有感興趣的或者想提升自己的。那麼對於零基礎轉行學習的同學肯定以下一些疑問:web前端需要學習哪些知識,web前端的學習路線,以及學習web需要多長時間的問題。第一,想學web前端需要學什麼知識?
  • 【第1162期】2018 要學習的優秀 JavaScript 庫與知識
    前言關於2017年回顧的文章,也曾分享過幾篇了,當看到這篇的時候想去找找看在2017年初的時候有沒分享過2017值得學習的庫,可惜翻看了只有講到前端工具的趨勢
  • JavaScript入門教程
    起源javascript前身叫做livescript,sun公司推出java,netspace公司引進java的概念,重新設計livescript,並更名javascript。發明者,布蘭登.艾克,表單驗證原先要經過伺服器,伺服器壓力大,等待時間長,js僅在客戶端就可完成。是什麼是一種腳本語言,是一種輕量級的程式語言。
  • 第五篇:JavaScript事件處理
    什麼是事件呢?事件就是網頁文檔或網頁元素對外發出的通知。當HTML元素與用戶發生交互行為時,該元素會觸發相關的交互事件,例如:當用戶用滑鼠單擊網頁中的按鈕時,按鈕會觸發滑鼠單擊事件(onclick)。元素自身也會觸發事件,例如:當圖片元素加載完成後,會觸發加載完成事件(onload)。
  • 一天一點JavaScript編程知識:Animation動畫
    前言總算是寫完了基礎類型篇的內容。這次咱們來聊一聊動畫。閒話就不多扯了,直接開始正文。PS:供複製的代碼,但是請注意,圖片資源需要調整一下<html> <head> <title>JavaScript Animation</title> <script type = "text/javascript"> var imgObj = null; function init() { imgObj
  • JavaScript - Math對象
    中其實是有很多數學計算的需求的,不過不必擔心系統給我們提供了大量的數學運算的方法供我們使用而這些方法全都存在於我們的Math對象中Math常用的屬性:Math.PI 相當於π 3.14159Math對象常用的函數:1.Math.round() 四捨五入舉個小例子:<script type = 「text/javascript
  • JavaScript中的「黑話」
    因為球是圓的,所以不論發生什麼都有可能,對這點我是深信不疑的,但最近我總是在懷疑,JavaScript也是圓的!什麼是「黑話」黑話,本指舊時江湖幫會人物的暗語、暗號,往往見於小說,後指流行於某一特殊行業中,非局外人所能了解的語言。
  • 從setTimeout(fn,0)函數剖析JavaScript的執行機制
    這就涉及到JavaScript的執行機制了,通過這篇文件,你將會對JavaScript的整個執行機制更加深刻了解。javascript 引擎線程:也可以稱為 JS 內核,主要負責處理 Javascript 腳本程序,例如 V8 引擎。Javascript 引擎線程理所當然是負責解析 Javascript 腳本,運行代碼。瀏覽器無論什麼時候都只有一個 JS 線程在運行 JS 程序。
  • Javascript去除字符串中的點或其他符號
    在前端上使用javascript進行操作的。測試了兩次沒有好用,程序直接把整個字符串都進行了替換,在考慮這個是為什麼呢?javascript(請忽略此配圖)示例var ip = data.field.ip.replace(/.
  • 來一輪帶注釋的demo,徹底搞懂javascript中的replace函數
    javascript這門語言一直就像一位帶著面紗的美女,總是看不清,摸不透,一直專注伺服器端,也從來沒有特別重視過,直到最近幾年,javascript越來越重要,越來越通用。最近和前端走的比較近,藉此機會,好好鞏固一下相關知識點。
  • 在JavaScript中,使用replace()、test()和exec()方法匹配字符串
    JavaScript核心代碼如下:<script type="text/javascript">var str = "Hello Microsoft!"使用字符串替換的核心JavaScript代碼如下:<script type="text/javascript">var str = "一都編程,每個知識就是一個案例。"
  • AJAXRPC: javascript調用服務端方法
    它允許你使用Javascript調用服務端方法,基於JSON數據協議,開源授權(LGPL),可同步和異步調用。 使用AJAXRPC,您可以像開發傳統的C/S程序一樣,來開發WEB程序,讓WEB開發更簡單和高效。 支持服務端語言:Java、.Net、PHP。 支持瀏覽器:IE、FireFox、Opera、Safari、Chrome。
  • 在JavaScript字符串的search()方法中,如何匹配正則表達式?
    對於具體的字符串,需要經過正則表達式的計算後,形成一個值來判斷是否匹配上。正則表達式可簡單,可複雜,需要根據語法定義模式。在各個程式語言中,也會推出一些與正則表達式相關的輔助操作,如替找操作等。Search()方法的使用正則表達式的代碼如下:<script type="text/javascript">//正則表達式var patt = /Yido/i;//字符串var str1 = "Hello Yido Online Edu."
  • 分享幾個javascript實用函數
    從本文開始小編將定期發布javascript相關的代碼集錦,每次發十個與大家分享,首先是數組篇,也許有人會說,可以用常用的lodash的等庫啊。但是小編覺得,去讀lodash源碼的人並不多吧,所以分享的代碼集錦權當一種學習了,首先開始的是數組篇,基於es6 規範allallEqual找出數組中滿足篩洗條件中的所有元素.any// 找出數組中滿足篩洗條件中的所有元素.
  • 50個實用的JavaScript工具
    jsfuzzer  它是一個fuzzing工具,幫助你使用JavaScript編寫/測試attack vectors。  新的替代JavaScript和Ajax的開發框架  Clean AJAX  Clean一個開源的Ajax引擎,一組簡化AJAX開發的高級接口。
  • 第41節 Document文檔節點-Javascript
    :" + href + "不屬於本網站,你要繼續訪問嗎?");open()與close()方法:可以使用write()方法在其他的窗口或框架頁中來創建整個全新文檔,但一般會配合close和open方法一起使用;open()和close()分別用於打開和關閉網頁的輸出流;如果是在頁面加載期間使用write()或writeln()方法,則不需要用到這兩個方法,因為文檔此時是打開狀態;向一個已經加載完成的文檔寫入數據時,會自動調用 document.open
  • 程式設計師必須掌握的 12 個 JavaScript 技能!
    無論你的開發水平如何,理解 JavaScript 的基礎概念都尤為重要。本文將與大家分享 12 個實用的 JavaScript 技能,未來我也將在 Github 的 JS Tips&Tidbits 倉庫(https://github.com/nas5w/javascript-tips-and-tidbits)中持續更新此概念列表。