08-JavaScript語法篇1

一、字面量、變量、常量

  • 字面量:字面量就是一個值,比如變量的值或者常量的值
  • 變 量:定義完成後,可以修改的數據,var關鍵字 定義
  • 常 量:定義完成後,固定且不能改變的數據,const關鍵字 定義
總結:
常量與變量的區別:
① 常量與變量的存儲方式是一樣的,只不過常量必須要有初始值,而且值不允許被修改,而變量可以無初始值,且可以多次賦值。
常量與字面量的區別:
① 常量與字面量均不會被改變,常量爲存儲數據的容器,而字面量爲等號右側的值,字面量是由字符串,數字等構成的字符串或數值。

二、數據類型

  1. 程序在運行過程中會產生各種各樣的臨時數據, 爲了方便數據的運算和操作, JavaScript對這些數據進行了分類, 提供了豐富的數據類型;

數據類型劃分:
① 簡單數據類型:Number、String、Boolean、Undefined、Null
② 引用(複雜)數據類型:Object

數據類型查看:typeof 操作符,會將檢查的結果以字符串的形式返回給我們

  1. 簡單數據類型

Number:
① 在JS中所有的數值都是Number類型(整數和小數)

var num1= 123;
var num2= 3.14;
console.log(typeof num1); 
console.log(typeof num2); 

② 由於內存的限制,ECMAScript 並不能保存世界上所有的數值

// 最大值:Number.MAX_VALUE
 console.log(Number.MAX_VALUE); 
 // 最小值:Number.MIN_VALUE
 console.log(Number.MIN_VALUE);  
 // 無窮大:Infinity, 如果超過了最大值就會返回該值
 console.log(Number.MAX_VALUE + Number.MAX_VALUE); 
 // 無窮小:-Infinity, 如果超過了最小值就會返回該值
 console.log(typeof Infinity); 
 console.log(typeof -Infinity); 

③ NaN 非法數字(Not A Number)
JS中當對數值進行計算時沒有結果返回,則返回NaN

var num = NaN;
console.log(num);
console.log(typeof num);

注意:JS中整數的運算可以保證精確的結果
在JS中浮點數的運算可能得到一個不精確的結果

String:

① 字符串由單引號或雙引號括起
② 使用字符串注意事項

  • 不能一單一雙,必須成對出現
  • 相同引號不能嵌套,不同引號可以嵌套
  • 給變量加上引號, 那麼變量將變爲一個常量

Boolean:
布爾型也被稱爲邏輯值類型或者真假值類型, 只能夠取真(true)和假(false)兩種數值

  • 任何非零數值都是true, 包括正負無窮大, 只有0和NaN是false
  • 任何非空字符串都是true, 只有空字符串是false
  • 任何對象都是true, 只有null和undefined是false
    var bool1 = Boolean(0);
    console.log(bool1 );
    var bool2 = Boolean(1);
    console.log(bool2 );
    var bool3 = Boolean(-1);
    console.log(bool3 ); 
    var bool4 = Boolean("hello");
    console.log(bool4);
    var bool5 = Boolean("");
    console.log(bool5 );
    var bool6 = Boolean(undefined);
    console.log(bool6 ); 
    var bool7 = Boolean(null);
    console.log(bool7); 

Null和Undefined:
① Undefined是一種比較特殊的類型,表示變量未賦值,這種類型只有一種值就是undefined
undefined是Undefined類型的字面量,undefined和168、 "itlike"一樣是一個字面量,Undefined和Number、String一樣是一個數據類型,typeof對沒有初始化和沒有聲明的變量都會返回undefined

② Null 類型也是隻有一個值的數據類型,這個特殊的值是 null
從語義上看null表示的是一個空的對象,所以使用typeof檢查null會返回一個Object

undefined值實際上是由null值衍生出來的,所以如果比較undefined和null是否相等,會返回true

三、數據類型轉化

  1. 轉換成字符串類型
    終極大法:拼接字符串方式
    任何數據和 + " " 連接到一起都會轉換爲字符串

  2. 將其它類型轉換爲Number類型

① 字符串轉數字:

  • 如果字符串爲空或者是一個全是空格的字符串,則轉換爲0
var s2 = "";
var r2 = Number(s2);
console.log(r2); 

var s3 = "           ";
var r3 = Number(s3);
console.log(r3); 
  • 如果字符串中有非數字的內容,則轉換爲NaN

② 布爾轉數字

  • true 轉成 1,false 轉成 0

③ null和undefined轉數字

  • null轉數字爲0
var s1 = null;
var r1 = Number(s1);
console.log(r1); 
  • undefined轉數字爲NaN
   var s2 = undefined;
   var r2= Number(s2);
   console.log(r2); 
  1. parseInt()函數/parseFloat()函數

① 使用意義
Number()函數中無論字符串中是否存在有效整數都會直接返回NaN,
利用parseInt()和parseFloat()可以提取字符串中的有效整數和浮點數

② parseInt()

  • 有兩個參數,第一個參數是要轉換的字符串,第二個參數是要轉換的進制
  • 從第一位有效數字開始,直到遇到無效數字
  • 如果第一位不是有效數字,則直接返回NaN
    var s1 = "10rem";
    var r1 = parseInt(s1);
    console.log(r1);

    var s2 = "200X300";
    var r2 = parseInt(s2);
    console.log(r2);

    var s3 = "itLike001";
    var r3 = parseInt(s3);
    console.log(r3);

    var s4 = "";
    var r4 = parseInt(s4);
    console.log(r4);

③ parseFloat()

  • 不支持第二個參數,只能解析十進制數
  • 如果解析的內容裏只有整數,則只解析成整數
  • 如果第一位不是有效數字,則直接返回NaN
  • 從第一位有效數字開始,直到遇到無效數字

④ 使用注意

  • 對非String使用parseInt()或parseFloat(), 會先將其轉換爲String類型然後在操作
    var s7 = false;
    var r7 = parseInt(s7); 
    console.log(r7); 
  1. +和-0運算符
  • 添加+號, 不會修改數據的正負性
   var s1 = "12306";
    var r1 = +s1;
    console.log(r1); 
    console.log(typeof r1);

    var s2 = "1.01";
    var r2 = +s2;
    console.log(r2); 
    console.log(typeof r2); 

    var s3 = "20rem";
    var r3 = +s3;
    console.log(r3); 
    console.log(typeof r3); 

    var s4 = true;
    var r4 = +s4;
    console.log(r4);
    console.log(typeof r4); 

    var s5 = false;
    var r5 = +s5;
    console.log(r5); 
    console.log(typeof r5); 
  1. 轉成布爾類型
  • Boolean() , 0 ''(空字符串) null undefined NaN 會轉換成false 其它都會轉換成true
    console.log(Boolean(0));
    console.log(Boolean(''));
    console.log(Boolean(null));
    console.log(Boolean(undefined));
    console.log(Boolean(NaN));
    console.log(Boolean(-1));

    var str = 'itLike';
    var num1 = 123;
    var num2 = -1;
    console.log(Boolean(str));  
    console.log(Boolean(num1));  
    console.log(Boolean(num2)); 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章