1. 程式人生 > >從零開始學 Web 之 JavaScript(二)變數

從零開始學 Web 之 JavaScript(二)變數

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧!

一、變數

1、變數的宣告和初始化

var number;               // 變數的宣告,沒有賦值
var name = "Daotin"; // 變數的初始化

2、命名規則(駝峰命名)

  • 變數命名必須以字母或是**下標符號 "_" 或者 "$" 為開頭。
  • 變數名長度不能超過 255 個字元。
  • 變數名中不允許使用空格,首個字不能為數字。
  • 不用使用指令碼語言中保留的關鍵字及保留符號作為變數名。
  • 變數名區分大小寫。
  • 漢語可以作為變數名。但是不建議使用!

3、資料型別

檢視資料型別的方法:typeof name;typeof(name);

PS:null 的資料型別是 Object。

基礎資料型別:
String,Number,Boolean,unsigned、null

複雜資料型別:
Object,function,Array,Date,Error 等

4、Number

4.1、進位制

var num = 10;          // 十進位制
var num = 012;         // 八進位制:0開頭
var num = 0xA;         // 十六進位制:0x開頭

4.2、數值範圍

最小值: Number.MIN_VALUE ,這個值為: 5e-324
最大值: Number.MAX_VALUE ,這個值為: 1.7976931348623157e+308

無窮大Infinity
無窮小-Infinity

4.3、不要用小數去驗證小數

var num1 = 0.1;
var num2 = 0.2;
console.log(num1+num2); // 0.30000000000000004
console.log(0.07*100); // 7.000000000000001

4.4、NaN

NaN:(Not a Number)本來應該得到一個數值的,但是結果卻並不是一個數值。

console.log("abc"/18); // 結果是NaN

1、undefined 和任何數值計算為 NaN;
2、NaN 與任何值都不相等,包括 NaN 本身。
3、isNaN(); 任何不能被轉換為數值的值都會導致這個函式返回 true。

5、String

  1. 使用單引號或者雙引號均可。
  2. 獲取字串的長度使用 變數名.length
  3. 無法輸出的字元,記得使用轉義字元(\t , \, ", \ 等)
  4. 字串拼接可以使用 + ,像在 Java 一樣。
  5. 當一個是字串,另一個是數字,並且使用 乘,減,除 號的時候,字串會轉換成數字進行計算,轉換失敗返回NaN。
  6. js 沒有字元型別只有字串型別,字串使用 "" 或者 '' 都是可以的。
  7. 字串是常量不可變的。

示例:

var str = "hello";
str[0] = "w";
console.log(str); // 還是 hello

var str = "hello";
str = "world";
console.log(str); // 是 world,這個不是改變了當前str地址的字串的值,而是str指向了新的字串,舊的字串的值仍然沒有更改。

6、Boolean

Boolean型別只有兩個字面量: true 和 false 。但是所有型別均有與這兩個 Boolean 值等價的值。

下面型別為 true:true、除0數字、"something"、Object(任何物件)
下面型別為 false:false、0 、""(空字串)、undefined 、null、NaN

7、undefined 與 null

雖然 undefined 和 null 都為 false,但是他們的區別是:

  1. 在進行數字運算的時候,null + 10 = 10;undefined + 10 = NaN.
  2. 任何資料型別和 undefined 運算都是 NaN;
  3. 任何值和 null 運算,null 可看做 0 運算。

8、資料型別轉換

8.1、其他型別轉換成String

  1. 變數+"" 或者 變數+"其他變數"
  2. String(變數)
  3. 變數.toString(); // 注意:undefined 和 null 不可以
var bool = true;
var num = 111;
var aaa;
var bbb = null;

console.log(typeof(bool+""));  // string
console.log(typeof(num+""));   // string
console.log(typeof(aaa+""));   // string
console.log((aaa+""));         // undefined
console.log(typeof(bbb+""));   // string

8.2、其他型別轉換成 Number

此轉換容易產生 NaN,一旦被轉換的變數中含有非數字字元,都容易出現 NaN.

**1. 變數 -*/ 一個數字(有非數字字元會出現 NaN)**

var num1 = "11" - 0; 
var num2 = "11" * 1;
var num  = "11" / 1;

2. Number(變數);(有非數字字元會出現NaN)

Number("11");
Number(""); // 空字串返回 0

3. parseInt() 和 parseFloat()(譯為取整和取浮點數)

空字串:parseInt("") 和 parseFloat("") 返回 NaN。

parseInt(變數):如果變數中首字元為字母則結果為 NaN。否則取出現首個非數字前的整數。 123 = parseInt(“123.123aaaa”);

parseFloat(變數):如果變數中首字元為字母則結果為 NaN。否則取出現首個非數字前的浮點數。(如果沒有小數的話取整) 123.123 = parseFloat(“123.123aaaa”);

PS:

true 數值為 1;false 為0;
null 的數值型別為 0;
undefined 無數值型別或者為 NaN。

8.3、其他型別轉換成 Boolean

任何資料型別都可以轉換成 boolean 型別,所以和以上兩個轉換不同。將任意型別作為引數傳入 Boolean(引數) 中,都可以轉換成布林值。

下面型別為 true:true、除0數字、"something"、Object(任何物件)
下面型別為 false:false、0 、""(空字串)、undefined 、null、NaN

Boolean(引數); 

相關推薦

開始 Web JavaScript變數

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、變數 1、變數

開始 Web JavaScript陣列

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、陣列 1、陣列

開始 Web JavaScript面向物件

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、面向物件 1、

開始 Web JavaScriptJavaScript概述

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、JavaScr

開始 Web JavaScript函式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、函式 1、函式

開始 Web jQuery獲取和操作元素的屬性

eight images idt 隱藏 lis 屬性 ner master lin 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔

開始 Web HTML5表單,多媒體新增內容,新增獲取操作元素,自定義屬性

器) user 對比 style 按鈕 ont mp3 url -- 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht

開始 Web CSS3顏色模式,文字陰影,盒模型,邊框圓角,邊框陰影

一、顏色模式 顏色模式有兩種: RGBA rgba(0,0,0,0.5); //黑色,透明度0.5 HSLA(顏色(0~360),飽和度(0%~100%),明度(0%~100%),透明度(0~1)) 紅橙黃綠青藍紫紅:顏色從 0~360 順序,各佔30度。比如紅色為0,黃色為120,綠色為240。

開始WebHTML標籤、超連結、特殊符號、列表、音樂、滾動、head等

大家好,這裡是 Daotin 從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、標籤 1、單標籤 註釋標籤

開始 Web DOM對樣式的操作,獲取元素的方式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、對樣式的操作

開始 Web AjaxPHP基礎語法

一、PHP 基礎語法 1、基本結構 所有PHP程式碼都要寫到 <?php ... ?> 裡面。 PHP檔案可以和 HTML 檔案結合進行使用。 PHP檔案的預設副檔名是 ".php"。 PHP程式碼必須在伺服器上執行。 2、列印語句 echo: 的作用在頁面中輸入字串(只能列印字串,數字等

開始 Web ES6ES5的一些擴充套件

一、json物件擴充套件 把一個Json物件轉換成字串 JSON.stringify(js物件/陣列); 把一個json格式的字串轉換成Json物件 JSON.parse(json物件/陣列); 示例: <script type="text/javascript"> var o

開始 Web BOM定時器

一、定時器 BOM 中有兩中方式設定定時器。 1、方式一 特點:定時器可以重複使用。 // 引數有兩個: // 第一個引數:定時器定時結束處理函式 // 第二個引數:定時事件,單位毫秒。 // 返回值:定時器id值 var timeId = window.setInterval(function()

開始 Web CSS文字、標籤、特性

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 一、文字元素 1、

開始 Web DOMDOM的概念,對標簽操作

關註 1.5 pan 什麽 tin p標簽 nod text == 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,

開始 Web DOM節點

def clas scrip while p標簽 設置 ner 操作 text 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相

開始 Web BOMoffset,scroll,變速動畫函數

樣式 清理 java mar dde sof mov har width 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:

開始 Web jQuery為元素綁定多個相同事件,解綁事件

png 好用 添加 方式 執行 存在 區別 也會 地址 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:http://ww

開始 Web jQuery事件冒泡,事件參數對象,鏈式編程原理

eval uri turn 定位 return 也會 否則 ont sele 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客

開始 Web AjaxAjax 概述,快速上手

lan 技術分享 php 概述 由於 val asc logs 更新 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔 博客園:ht