javascript基礎知識點

来源:https://www.cnblogs.com/dwvfw855/archive/2019/05/16/10874690.html
-Advertisement-
Play Games

1.JavaScript數據類型 Undefined Null Boolean Number String Object typeof 運算符 typeof 是一個一元運算符,放在一個運算數之前,運算數可以是任意類型. 它返回值是一個字元串,該字元串說明運算數的類型. typeof是一個一元運算符( ...


 

1.JavaScript數據類型

Undefined

Null

Boolean

Number

String

Object

 

typeof 運算符

typeof 是一個一元運算符,放在一個運算數之前,運算數可以是任意類型. 它返回值是一個字元串,該字元串說明運算數的類型.

typeof是一個一元運算符(就像++,--,!,- 等一元運算符),不是一個函數,也不是一個語句.

typeof "a"

數據類型 - Undefined

Undefined即⼀一個特殊的值,當⼀一個變數量聲明但 未初始化時,就會被賦予undefined值。


<script>
​
`var message;`
 `console.log(message);`
​
`</script>`

 

 

 

數據類型 - Null

空對象指針 當⼀一個變數量是為了了保存⼀一個對象,但沒辦 法⽴立即初始化的時候,應該為之分配⼀一個 null 值。

數據類型 - Boolean

在 JavaScript 中,布爾值是一種基本的數據類型。Boolean 對象是一個將布爾值打包的布爾對象。Boolean 對象主要用於提供將布爾值轉換成字元串的 toString() 方法。

轉換規則

 

數據類型 - Number & String

NaN 任何涉及NaN的操作(NaN + 1)都會返回NaN NaN與任何值都不不相等,包括NaN本身

數據類型轉化

Number() parseInt() parseFloat() String() toString

數據類型 - Object

創建Object實例

var o=new Object();
​
var O =new Object

 

Object類型所具有的任何屬性和⽅方法也同樣存 在於更更具體的對象中

constructor

hasOwnProperty(propertyName)

isPrototypeOf(object)

propertyIsEnumerable(propertyName)

toLocaleString()

toString()

valueOf()

 

2.JavaScript運算符

一元運算符 布爾運算符 相等運算符 其他運算符

運算符 - ⼀一元運算符

++, --

+,-

 

運算符 - 布爾運算符

!! :即 Boolean() && : 短路路操作(if-else) || : 預設值(var a = b || 1;)

相等運算符

相等 (==、!=) vs 全等(===、!==)

  1. 相等和不相等(‘==’ ,’!=’)特點:先轉換再比較

  2. 全等和不全等(’===’ , ‘!==’)特點:僅比較而不轉換

相同數據類型比較規則: ==:如果兩個操作數相等,返回true,不相等返回false !=:如果兩個操作數不相等,返回true,相等返回false

不同數據類型比較規則: 如果有一個操作數是布爾值,則比較相等前先轉換為數值:false->0,true->1; 如果一個操作數是字元串,另一個操作數是數值,則再比較相等性前先將字元串轉換為數值; 如果一個操作數是對象,另一個不是,則調用對象的valueOf()方法,用得到的基本類型按照上面的規則進行比較;

特殊: null 和 undefined是相等的 null == undefined //true

在 比較相等性之前,不能將null和undefined轉換成其他任何值

如果有一個操作數是NaN,則相等操作符返回false。即使兩個操作數都是NaN,相等操作符也返回false NaN == NaN //false

如果兩個操作數都是對象,則比較它們是不是同一個對象。如果兩個操作數都指向同一個對象,則相等操作符返回 true ;否則,返回 false 。

全等操作符相比相等操作符在數據比較時更為嚴格,數據比較之前不做處理 除了在比較之前不轉換操作數之外,全等和不全等操作符與相等和不相等操作符沒什麼區別

其他

位運算符 (~, &, |, ^, <<, >>, >>>) 乘性運算符 (*, /, %) 加性運算符 (+, -) 關係運算符 (>, >=, <=, <) 條件運算符 (?:) 賦值運算符 (=) 逗號運算符 (,)

3.JavaScript語句

表達式語句 流控制語句 返回值問題

表達式語句

語句 - 表達式語句

一般表達式語句

 

 

賦值語句

 

聲明語句

var a = 1 + 2;

  

聲明語句和賦值語句的區別

 

函數調⽤用語句

 

流控制語句

語句- for-in

 

語句 - 其他

if

do-while

while

for

break/continue

switch

語句- 異常

 

try語句允許我們定義在執行時進行錯誤測試的代碼塊。

catch 語句允許我們定義當 try 代碼塊發生錯誤時,所執行的代碼塊。

finally 語句在 try 和 catch 之後無論有無異常都會執行。

語句- 返回值

無返回值的語句

 

function a() {}

a();

  

4.JavaScript函數

函數的參數 ECMAScript中的參數都是值傳遞 重載

函數 - 參數

“像” 數組 arguments.length (取決於傳⼊入參數的個數)

1、什麼是arguments?

這個函數體內的arguments非常特殊,實際上是所在函數的一個內置類數組對象,可以用數組的[i]和.length。

2、有什麼作用?

js語法不支持重載!但可用arguments對象模擬重載效果。

arguments對象:函數對象內,自動創建的專門接收所有參數值得類數組對象。 arguments[i]: 獲得傳入的下標為i的參數值

函數 - 值傳遞

原始值: 複製變數

var num1 = 5;

var num2 = num1;

  

 

函數 - 值傳遞

複製引用

 

函數 - 值傳遞

 

函數 - 重載(js沒有重載)

使⽤用模擬函數重載來編寫⼀一個具有如下 功能的函數:

1,如果輸⼊入參數⼤大於三個,返回最後⼀一個參數。

2,如果輸⼊入參數⼩小於三個且全部為數字,則返 回排序後的數組,如果最後⼀一個數為奇數則降序 排列列,反之升序排列列。

3,如果輸⼊入參數⼩小於三個且包含字元串串,則將 所有參數強制轉化為字元串串聯接返回。

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 初始化地圖 js function initMaze(r,c){ let row = new Array(2 r + 1) for(let i = 0; i { const visited = [], key = [], parent = []; let {length} = graph; for( ...
  • 首先第一步 在官方下載layer和layDate文件。layUI官網:http://layer.layui.com/ http://layer.layui.com/ 例如layer文件的下載步驟如下: 然後將完整的layer文件和laydate文件複製在你當前的項目。如下: 引入layer.js和l ...
  • 前言 移動端頁面常見的一種效果:下拉刷新(pulldownrefresh)和上拉載入(pullupload),目的都是為了增強用戶的體驗效果,因此各種移動端滑動插件也是層出不窮,今天小編也在這裡給大家推薦一個滑動插件: 。 GitHub地址: "better scroll" 利用better scr ...
  • 本人正在學習ing,應該bug眾多還請見諒如有轉載請告知,謝謝!<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>2048</title> <style> *{ font-family: arial; margin ...
  • 今天做地圖下鑽,沒有地圖json數據,記得做過沒有找到以前的資料,從網上下載還要花錢,就想給路過的人提供資料,此js實現需要包含區域json的js文件及 echarts4.1.0(低版本的js可以試試),如果有需要材料的,我在博客上傳了地圖材料的文件,可以下載 /*地圖下鑽*/var myChart ...
  • undefined 的字面意思就是未定義的值 null 的字面意思是 空值 如果需要釋放某個對象,就將變數設置為null,即表示該對象已經被清空,目前無效狀態。試想一下,如果此處把 null 換成 undefined 會不會感到彆扭 typeof null == 'object' // true t ...
  • var str="helloworld"; 這三個方法如果只傳一個參數預設截取到最後。.將截取的字元返回,對原字元串沒有任何改變 slice(star,end)//從索引star開始,截取到索引end,不包括end.將截取的字元返回,對原字元串沒有任何改變 console.log(str.slice ...
  • import { Button, Modal, Form, Input, Radio } from 'antd'; const CollectionCreateForm = Form.create({ name: 'form_in_modal' })( // eslint-disable-next-... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...