《js高程》 基本概念 上
基本概念 上
- 語法
- 數據類型
- 流程控制
- 函數
語法
- 區分大小寫
- 標識符
- 字母、下劃線、美元開頭
- 其它字符可以是字母、下劃線、美元或數字
- 駝峰式
- 注釋
- //單行注釋
- /*/多行
嚴格模式 “use strict"; 區別后續指出
- js文件 一開始聲明
- function 里聲明,指定某個函數應用嚴格模式
語句
- 感覺沒什么好說的需要注意自己寫的代碼規范。一般來說,代碼規范和注釋絕對是最重要的,雖然自己做的不太好,哈哈哈。
關鍵字和保留字
變量
- var message; message undefined。
- var message = "hi"; 之前字符串、字符都沒有區別用單引號還是雙引號。
- 局部變量 和全局變量,注意變量的作用域。且變量提升問題,寫代碼過程中,感覺煩躁的地方 :一是很難去維護全局變量,二是變量命名。
數據類型
Undefined 未定義
- typeof undefined // "undefined"
- undefined == undefined // true
Boolean 布爾值 不是等于0和1
- true
- false
- Boolean(變量)
| 數據類型 | true | false |
| :-------: | :---: | :--------: |
| Boolean | true | false |
| String | 非空字符串 | “ ”空字符 |
| Number | 非零 | 零 |
| Object | 任何對象 | null |
| Undefined | 不適用 | undefined` |String
- 字符串和字符,我以后字符串用“ ”,字符用 ‘ ’ 好區分
- 轉義字符 \n、\t、\b、\r、\ \、\'、\"等
- 工作中常用的其實是對于字符串的分割
Number
var intNum = 55;
var octalNum = 070 ; // 八進制56 在嚴格模式下無法使用八進制,會導致js引擎出錯。然而書上沒說十六進制是否也是,經測試,十六進制是可以使用的。八進制和十六進制都是變成十進制進行數值計算的。
浮點數 最高精度為17位小數
var floatNum = .1 ; 不推薦
var floatNum = 1.; 解析為1
var floatNum = 10.0 ; 解析為10
var floatNum = 3.125e7 ; 31250000
- if( a + b == 0.3){//error,浮點數永遠不要進行這樣的操作alert("you got 0.3"); }復制代碼
極大值Infinity或者極小值-Infinity, isFinite() 函數可以確定某個數字是否在最大和最小之間。
NaN(not a number)任何數除以0會返回NaN以及任何對NaN進行操作返回的值都會是NaN,實際上 0/0 是 NaN ,其它的是Infinity 或者 -Infinity。NaN 與任何值都不相等 alert( NaN == NaN ) //false。
- //isNaN() 函數 isNaN(NaN) //true isNaN(10) //false isNaN("10") //false 轉換為10 isNaN("blue") //true isNaN(true) //false 轉換為1復制代碼
數值轉換 Number()、Number()、parseFloat()
//Number() var num1 = Number("Hello world!"); //NaN var num2 = Number(""); //0 var num3 = Number("000011"); //11 var num4 = Number(true); //1//Number() var num1 = parseInt("1234blue"); //1234 var num2 = parseInt(""); // NaN var num3 = parseInt("0xA"); // 10(十六進制數) var num4 = parseInt(22.5); // 22 var num5 = parseInt("070"); // 56(八進制) var num6 = parseInt("070"); // 70 (十進制) var num7 = parseInt("0xf"); // 15 (十六進制) // 按進制 var num1 = parseInt("10", 2); var num2 = parseInt("10", 8); var num3 = parseInt("10", 10); var num4 = parseInt("10", 16);//parseFloat() var num1 = parseFloat("1234blue");//1234 var num2 = parseFloat("0xA"); //0 var num3 = parseFloat("22.5"); //22.5 var num4 = parseFloat("22.34.5"); //22.34 var num5 = parseFloat("0908.5"); //908.5 var num6 = parseFloat("3.125e7"); //31250000復制代碼
```
Object 對象或是null
- var o = new object();//創建對象
- 對象都有構造方法constructor
- hasOwnProperty(propertyName) 對象是否有什么屬性
- isPrototypeof(object) 某個對象是否為對象的原型
- propertyIsEnumerable(propertyName) 是否可枚舉
- toLocaleString();對象的字符串表示 與執行環境相對
- toString() 對象的字符串表示
- valueOf() 返回對象的字符串、數值或是布爾值表示
- var o = new object();//創建對象
Null
表示空對象指針 typeof null //object
如果定義的變量準備用來存放對象的話,最好初始化為null。檢查null的時候可以看到是否依舊存在了一個對象的引用
undefined 派生自 null ,null == undefined //true
歡迎個位小伙伴 關注我的公眾號 moomoocode 一起學習前端。
總結
以上是生活随笔為你收集整理的《js高程》 基本概念 上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vuex源码解析
- 下一篇: Zend Studio 0x800706