当前位置:网站首页>JS變量類型以及常用類型轉換
JS變量類型以及常用類型轉換
2022-07-06 12:09:00 【阿波次嘚】
JS變量類型
原始類型:Number、String、Boolern、undefined、NULL–存儲在棧中
引用類型:Object --存儲在堆中
1.數值型–Number:數字
(1)整型:正負整數和零
(2)浮點型:小數(1.11e+1 = 11.1)
2.字符串型–String
用單引號(‘abc’)、雙引號 (“abc”)、模板字符串(``)包起來的字符集合。
3.布爾型–Boolern
true 和 false
4.未定義類型–undefined
5.空類型–NULL
它的類型其實是一個對象
6.對象類型–Object
對象裏存放的是屬性和方法
var obj = {
a:a,
b:func1
}
分類:
宿主對象 宿主就是環境
前端所接觸到的環境有兩類 :
1.瀏覽器環境 --提供的window對象(全局對象)及其子對象
2.服務器環境 – nodejs提供的環境 – global 對象(全局對象)及其子對象
這兩個環境都可以運行js代碼。
相同點是都使用ChromeV8引擎 – 因為它是目前性能最高的引擎
不同點是 兩個環境所提供的API不同
內置對象
JavaScript提供了一些內置的對象和函數:
String、Math、Date、Array…
自定義對象
我們自己定義的類實例化對象
7.Symbol類型
詳情請查看
https://es6.ruanyifeng.com/#docs/symbol
7.BigInt類型
var bg = 121212n; // 在數字後加 ‘n’
注意:
1.BigInt 類型不能用 Math 對象的方法。
2.不能和 Number 示例混合運算。
類型轉換
分為:隱式轉換和强制轉換
其他類型轉為數字:
隱式轉換 – 程序運行中自動轉換
加號與其他運算符先比較除了 算數運算 還有 拼接字符串 的作用
如上圖所示:拼接字符串的優先級要大於算術運算 (會先進行字符串拼接 如果沒有字符串拼接才會執行算術運算)
true 隱式轉換為了1
false 和 null 隱式轉換為了0
undefined 轉為了 NaN =>Not a Number
减、乘、除、取模 都可以將字符串轉為數字 將數字轉為字符串 (1+’’)即可
~~運算符使用適當可以在工作中輕松將字符串和數字的相互轉換
NaN運算
NaN進行數學運算的結果都為NaN 即使是NaN之間進行運算也是NaN
隱式轉換所使用的函數是Number
强制轉換–手動轉換
强制轉數字
Number(‘1’) //1
Number(‘1a’) //NaN
Number(true) //1
Number(false) //0
Number(undefined) //NaN
Number(null) //0
强制轉整型
只能轉數字 碰到字母或小數點或其他字符 停止截取 轉換失敗結果為 NaN
parseInt 返回十進制 或者NaN,它有兩個參數 parseInt(要轉換的值,轉換的進制) 會忽略字符串最開始的空白字符
强制轉浮點型
碰到字母等 停止截取 轉換失敗結果為 NaN 會忽略字符串最開始的空白字符
强制轉字符串
注:如果直接在數字、true等基礎上調用API 可用 數字+空格+.API
强轉布爾型
轉布爾型為false 的 情况 :’’ NaN 0 null undefined
隱式轉換為布爾型
!!num // 雙感歎+變量名
~~//我在程序中經常這樣寫 先將我們能預料到的錯誤在方法最開始進行驗證 如果出錯 則 return;
if(!num){
//錯誤提示代碼
return;
}
边栏推荐
- 物联网系统框架学习
- 高通&MTK&麒麟 手機平臺USB3.0方案對比
- There are three iPhone se 2022 models in the Eurasian Economic Commission database
- History object
- RT thread API reference manual
- Togglebutton realizes the effect of switching lights
- ESP8266通过arduino IED连接巴法云(TCP创客云)
- C语言,log打印文件名、函数名、行号、日期时间
- I2C bus timing explanation
- Variable star user module
猜你喜欢
E-commerce data analysis -- User Behavior Analysis
Linux Yum install MySQL
Unit test - unittest framework
JS数组常用方法的分类、理解和运用
锂电池基础知识
Kaggle competition two Sigma connect: rental listing inquiries (xgboost)
机器学习--线性回归(sklearn)
PyTorch四种常用优化器测试
I2C总线时序详解
R & D thinking 01 ----- classic of embedded intelligent product development process
随机推荐
I2C总线时序详解
Vert. x: A simple login access demo (simple use of router)
Detailed explanation of 5g working principle (explanation & illustration)
List and set
Vert. x: A simple TCP client and server demo
Togglebutton realizes the effect of switching lights
ES6语法总结--上篇(基础篇)
Kconfig Kbuild
小天才电话手表 Z3工作原理
RuntimeError: cuDNN error: CUDNN_ STATUS_ NOT_ INITIALIZED
arduino获取数组的长度
Missing value filling in data analysis (focus on multiple interpolation method, miseforest)
ToggleButton实现一个开关灯的效果
OSPF message details - LSA overview
Arm pc=pc+8 is the most understandable explanation
ESP8266通过arduino IED连接巴法云(TCP创客云)
互聯網協議詳解
Several declarations about pointers [C language]
Kconfig Kbuild
Keyword inline (inline function) usage analysis [C language]