day01 js筆記
文章目錄
一、js的組成部分:
- ECAMscript:js的核心語法
- DOM: document Object model 文件物件模型,提供了一些屬性和方法用來操作dom元素
- BOM: browser Object model 瀏覽器物件模型,提供了一些屬性和方法用來操作瀏覽器
window.location.href=“http://www.baidu.com”; 讓網頁進行跳轉
window.location.href 獲取網頁地址
二、ECMA 核心語法
變數和資料型別
1、變數(一個值的容器)
建立變數的六種方式:
- var 宣告一個變數(es3)
- function 宣告一個函式(es3)
- const 宣告一個常量(es6)
- let 宣告一個變數(es6)
- class 宣告一個類
- import 基於es6模組匯入一些資訊(es6)
2、js 的命名規則
- 區分大小寫
- 遵循駝峰命名法,由數字、字母、下劃線、$組成,但是不能以數字開頭;起語義化的名字;
- 不能是關鍵字或者保留字
- 關鍵字:就是代表特殊含義和功能的名字,比如var、function
- 保留字:以後可能會成為關鍵字,只是現在預先保留佔用
3、兩種簡單的除錯方式
- alert() //彈出框 (會把資料預設轉換成字串型別)
- console.log() //列印
4、資料型別
- 基本資料型別
- number(NAN(not a number))
- string
- boolean
- null
- undefined
null和undefined的區別!!》》》day02筆記
- 引用資料型別
- function
- object
- 普通物件
- 陣列
- 正則
- math
- date
- es6新增的Symbol(唯一的資料)
1. number型別
正數、負數、0、小數、NAN
NAN不等於NAN
2. string
把字元用單引號或者雙引號抱起來的就是字串型別
var num = 1;
var num2 = "1";
var num3 = '1';
3. boolean 布林型別
trun、false
4. null和undefined
- null:空的物件指標
- undefined:空,沒有
5. 普通物件
- 普通物件:把屬性名和屬性值用大括號括起來的。
- 屬性名(key、鍵):代表具有一定特徵的名字(一般只有數字和字串)
- 屬性值(value、值):具體的值(可以是任意的資料型別)
6. 陣列 []
7. Math 主要用來運算元字
Math.random(); // 獲取0-1之間的隨機數
Math.abs(-1.1); // 絕對值
Math.round(1.5); //四捨五入
8. date日期
new Date()
Mon Nov 09 2020 15:08:13 GMT+0800 (中國標準時間)
9. symbol 唯一的資料 es6新增
var str1 = Symbol("zhufeng");
var str2 = Symbol("zhufeng");
console.log(str1 == str2); //false
三、把其他資料型別轉換為number的方法
-
Number() 方法
-
字串:
- 如果是空字串,轉換為0
- 如果是字串中包含非有效數字,轉換為NAN
-
布林型別
- true:轉換結果1
- false:轉換結果0
-
null:0
-
undefined:NAN
- 物件:如果是引用資料型別的,轉換為數字型別的時候,會隱式的先呼叫toString()方法,然後再用Number轉數字;
-
> var obj = {name:"123"};
< undefined
> obj.toString();
< "[object Object]"
> Number(obj);
< NaN
> var a = [];
< undefined
> a.toString();
< ""
> Number(a);
< 0
> var b = [1,2,3];
< undefined
> b.toString();
< "1,2,3"
> Number(b);
< NaN
> var c = [1];
< undefined
> c.toString();
< "1"
> Number(c);
< 1
2、parseInt 把字串轉換成整數(從左向右查詢,遇到非有效數字或者小數點就停止查詢)
> parseInt("12px23");
< 12
> parseInt("12.6555kkk");
< 12
> parseInt("12 3");
< 12
> parseInt("dasdas");
< NaN
3、parseFloat 把字串轉換為浮點型(可以識別到小數點)
> parseFloat("12.5");
< 12.5
> parseFloat("12.5sada");
< 12.5
> parseFloat("kk12.5sada");
< NaN
> parseFloat("12.5.6");
< 12.5
NAN !=NAN
四、isNAN 用來判斷一個數字是否為有效數字,返回結果是布林資料型別
如果說判斷的這個資料不是數字型別,先隱式呼叫Number()方法轉換為數字型別,再判斷
isNaN(1);
> false
isNaN("2");
> false
isNaN(true);
> false
isNaN(false);
> false
isNaN(null);
> false
Number(null);
> 0
isNaN(0);
> false
isNaN(undefined);
> true
isNaN({name:"lili"});
> true
Number({name:"lili"});
NaN
isNaN("NAN");
true
isNaN([1, 2, 3]);
> true
[1, 2, 3].toString();
"1, 2, 3"
isNaN("1, 2, 3");
true
五、字串
1、字串的長度
- 獲取字串長度 變數.length
- 最後一個字元對應的索引 變數.length-1
- 索引: 每個字元對應的下標
- 獲取相應的字元: 變數名[索引]
2、字串的計算
- 字串的加法除了計算,還可能是字串的拼接
var i = "5";
i++;
console.log(i); //6
console.log("6" + 10); //610
console.log("6"/"2"); //3
console.log("6"-"2"); //4
console.log("6"*"2"); //12
六、把其他資料轉換為布林
- Boolean();
- ! 轉換為布林取反;
- !! 轉換為布林;
- 把其他資料型別轉換為布林,除了以下五種情況,轉化的結果為false,剩餘的都為true
- null
- undefined
- “”
- NaN
- 0
相關文章
- 阿里百秀後臺管理專案筆記 ---- Day01阿里筆記
- Py知識點筆記(列表、元組和字典).Day01筆記
- js筆記一之初識JSJS筆記
- js類的筆記JS筆記
- js高程物件筆記JS物件筆記
- JS 陣列筆記JS陣列筆記
- node.js筆記Node.js筆記
- js學習筆記JS筆記
- 【人工智慧】複習筆記DAY01——人工智慧發展簡史人工智慧筆記
- JS筆記-007-JS Window-cookieJS筆記Cookie
- 讀js純粹筆記JS筆記
- js高程讀書筆記JS筆記
- Node.js EventEmitter 筆記Node.jsMIT筆記
- JS筆記—— 物件 (原型物件)JS筆記物件原型
- js逆向課20.12.27筆記JS筆記
- JS垃圾回收機制筆記JS筆記
- next.js 踩坑筆記JS筆記
- Think.js開發筆記JS筆記
- JS學習筆記之this指向JS筆記
- vue.js 學習筆記Vue.js筆記
- Vue.js小書筆記Vue.js筆記
- JS筆記(2) JS中的迴圈遍歷JS筆記
- Day01
- # Day01
- Node.js學習筆記(一)Node.js筆記
- 前端學習筆記 - nuxt.js前端筆記UXJS
- Node.js學習筆記1Node.js筆記
- 前端面試筆記 – js相關前端面試筆記JS
- <node.js學習筆記(1)>Node.js筆記
- <node.js學習筆記(2)>Node.js筆記
- 你不知道的JS 筆記JS筆記
- JS高度融合入門筆記(二)JS筆記
- 5.3_前端筆記-js變數前端筆記JS變數
- JS筆記(15): 正規表示式JS筆記
- 筆記:Node.js Postgresql踩坑筆記Node.jsSQL
- python day01Python
- JS學習筆記:JS 的function( window, undefined ) {}(window)寫法JS筆記FunctionUndefined
- 《你不知道的JS上》筆記JS筆記