第三章--數據類型

来源:http://www.cnblogs.com/wrong-w/archive/2016/04/18/5403362.html
-Advertisement-
Play Games

3.4--數據類型 數據類型分為 boolean , string, object , function , number,undefinde 3.4.1--typeof 操作符 typeof 操作符在safari5,chrome7以及之前版本 會將正則表達式 返回為"function",而在其他瀏 ...


3.4--數據類型

數據類型分為 boolean , string, object , function , number,undefinde

 

3.4.1--typeof 操作符

typeof 操作符在safari5,chrome7以及之前版本 會將正則表達式 返回為"function",而在其他瀏覽器會返回"object"

console.log(typeof null);

var message = "some string";
console.log(typeof message);
console.log(typeof 95);

3.4.2--undefined類型

var message_2;
console.log(message_2);
console.log(message_2 == undefined); //true

var message = undefined;
console.log(message);  //true

3.4.3--null類型

從邏輯角度講,null是一個空對象指針,而這正是null類型為"object"的原因了

var car = null;
console.log(typeof car); //object

實際上undefined值是派生於null值的,所以在ECMA-262相等測試返回true

console.log(null == undefined); //true

3.4.4--boolean值

var message_4 = "hellow world";
console.log(Boolean(message_4)); //true

任何非空字元串的boolean值為true , ""(字元串)為false
任何非零數字值的boolean值為true , 0和NaN(not a number)為false
任何oject對象的boolean值為true , null為false
任何n/a的undefined的boolean值為true , undefined 為false

3.4.5--Number類型

number 支持 八進位 和 十六進位的表示,所有八進位和十六進位表示的數值最終會轉成十進位的數值表示

var intnum = 55; // 整數55
var octalnum = 070; //解析結果八進位的56
var octalnum_1 = 079; // 無效的八進位--解析為79
var hexNum = 0xA; //解析為十六進位的10
var hexNum_1 = 0x1f; //解析為十六進位的31

1.浮點數值


基於IEEE754格式來計算

var floatNum = 1.1;

var floatNum_1 = .1 //有效,但不推薦

var floatNum1 = 10.0 //由於保存浮點數的記憶體是整數的兩倍,所以ECMA會儘量把浮點數轉換成整數

var floatNum_2 = 3.125e3; //表示3.125 * 10的3次方
var floatNum_3 = 3e-5; // 表示3*10的-5次方

var floatNum_4 = 0.1 + 0.2; //結果為0.30000000000000004    浮點數計算準度不如整數

2.數值範圍

 

Number.MIN_VALUE  表示最小值5e-324
Number.MAX_VALUE  表示最大值1.7976931348623157e+308
超過以上兩個數值會轉換成 Infinity 和 –Infinity

 

 

3.NaN--not a number

isNaN(10); //false
isNaN("blue") // true
isNaN(NaN) //true
isNaN(true) // false 可以轉換成1

 

4.數值轉換

var num1 = parseInt("123blue"); //  結果為123
var num2 = parseInt(""); //    NaN
var num3 = parseInt(0x1f); //31
var num4 = parseInt("AF", 16) // 表示AF的十六進位,第二個參數為幾進位
var num5 = parseInt("AF") // NaN
var num6 = parseInt("10", 2) //2(10的二進位解析)
var num7 = parseInt("10", 8) // 8 (10的八進位解析)
var num8 = parseFloat("0908.5") // 908.5會忽略前面的零
console.log(num8)

 

3.4.6—String

用string()方法可以把一個值轉換為字元串

var value =11;
console.log(String(value)) //"11"

 

3.5操作符

有遞增操作符++ ,遞減操作符--

var age = 29;
age++//30
var age_2 = --age; //遞減操作符要放在前面
console.log(age_2)

3.5.3--boolean操作符

!為邏輯非操作符(取相反值)

&&為邏輯與操作符(並且的意思),兩個為true才可以為true,有一個false都不行

||為邏輯或操作符(或者的意思),有一個為true就可以。

 

3.5.5--加法操作符

 

字元串加數字,ECMAscript會將數字轉換成字元串進行並接

如果想將計算結果加入字元串,就把數值執行加(),先執行求值再並接。

var result = (5) + "5";
var num1 = 10;
var num2 = 20;
var num3 = "The result is " + (num1 + num2)
console.log()

 

3.5.6--關係操作符

// 如果比較兩個值為數值的話,就按照正常大小比較
var result = 1 > 2; //false
// 如果兩個值為字元串的話,就按照字元串編碼值比較
var result_2 = "Brick" < "alphate"; // true
var result_3 = "23" > "3";
false
// 如果一個值為數值,一個值為字元串,則轉字元串為數值作為比較,如果轉不了數值就轉為NaN
var result_4 = 23 > "3"; //true
var result_5 = 23 > "a"; //false
//如果數值和Boolean值進行比較就降Boolean值轉為數值進行比較
var result_6 = 23 > false; //true
//如果數值和Object進行比較,就把Object用ValueOf()方法或者用toString()方法轉換進行比較
var result_7 = 23 > null; //true
//相等== 和 全等=== ,相等是把兩個操作數轉換再比較,全等是兩個操作數不轉換來比較
//任何操作數和NaN比較都返回false
var result_8 = ("23" == 23); //true
var result_12 = (55 === "55"); //false
var result_9 = (null == undefined); //true
var result_10 = (null === undefined); //false
var result_11 = (NaN == NaN); // false
var result_13 = (NaN == 1); //false

3.5.10--都好操作符


可以一次聲明多個變數。 用於賦值時,逗號操作符會返回最後一項

var num1 = 1 , num2 =2 ,num3 =3;
var num=(1,2,3,4,5); // 5

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ENode架構圖 什麼是ENode ENode是一個.NET平臺下,純C#開發的,基於DDD,CQRS,ES,EDA,In-Memory架構風格的,可以幫助開發者開發高併發、高吞吐、可伸縮、可擴展的應用程式的一個應用開發框架。 開源項目地址:https://github.com/tangxuehua ...
  • 獲取【下載地址】 QQ: 313596790 【免費支持更新】三大資料庫 mysql oracle sqlsever 更專業、更強悍、適合不同用戶群體【新錄針對本系統的視頻教程,手把手教開發一個模塊,快速掌握本系統】 A 集成代碼生成器(開發利器)+快速構建表單; QQ:313596790 free ...
  • Atitit JAVA p2p設計與總結 JXTA 2 JXTA 2 是開放源代碼 P2P 網路的第二個主要版本,它利用流行的、基於 Java 的參考實現作為構建基礎。在設計方面進行了重要的修改,以獲得更高的性能、海量伸縮性和可維護的 P2P 網路。本文建立在 Sing Li 於兩年前發表的 JXT ...
  • Atitit .h5文件上傳 1. 上傳原理1 2. Html1 3. Js2 4. uploadV2.js2 5. upServlet & FileUploadService {3 6. 註意::去除struts的干擾3 7. 參考3 1. 上傳原理 FormData + apache io 2. ...
  • Atitit.提升軟體Web應用程式 app性能的方法原理 h5 js java c# php python android .net 1. 提升單例有能力的1 2. 減少工作數量2 2.1. 減少距離2 2.2. 添加索引2 2.3. Dma api2 2.4. Cdn2 2.5. Cache2 ...
  • 1.意圖 提供一個創建一系列相關或相互依賴對象的介面,而無需制定它們具體的類。 2.適用性 一個系統要獨立於它的產品創建、組合和表示時。 一個系統要由多個產品系列中的一個來配置時。 當你強調一系列相關的產品對象的設計以便進行聯合使用時。 當你提供一個產品的類庫,而只想顯示它們的介面而不是實現時。 3 ...
  • 最近經常有人問圖片上傳怎麼做,有哪些方案做比較好,也看到過有關於上傳圖片的做法,但是都不是最好的 今天再這裡簡單講一下上傳圖片以及圖片伺服器的大致理念 如果是個人項目或者企業小項目,僅僅只有十來號人使用的小項目,可以使用如下方案: 用戶訪問系統,使用上傳圖片功能,那麼圖片就上傳到你的當前項目所在的t ...
  • 前幾日在網上看到了一個關於Carousel插件的教學視頻,於是也順便跟著學習著做了一下。但是在做完之後發現,在別的網站上面看到類似的效果要比現在做的這個要多一個功能,也就是在底下會有一些按鈕,當滑鼠放上去或者點擊之後,Carousel就會吧跟這個按鈕相同下標的li作為第一幀顯示。既然現在這個沒有了這 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...