null和undefined

来源:http://www.cnblogs.com/hhb-02-19/archive/2016/12/15/6184374.html
-Advertisement-
Play Games

最近在自行研究JavaScript以及相關的知識,由於沒有在網上能找到非常細緻的相關知識,所以購買了JavaScript權威指南一書(第六版)。不得不說,人家淘寶團隊真是厲害,厚厚一大本,翻譯的非常不錯,更好的是內容非常詳細。值得有經驗的開發人員觀看。對於這個書的贊美就不說辣麽多了,回到正題。 在之 ...


      最近在自行研究JavaScript以及相關的知識,由於沒有在網上能找到非常細緻的相關知識,所以購買了JavaScript權威指南一書(第六版)。不得不說,人家淘寶團隊真是厲害,厚厚一大本,翻譯的非常不錯,更好的是內容非常詳細。值得有經驗的開發人員觀看。對於這個書的贊美就不說辣麽多了,回到正題。

      在之前的JavaScript開發中,經常見到的一個關鍵字  null   我想程式員們都會對它絕對眼熟,不管是資料庫還是前端後臺,  null 絕對是一個非常常見的關鍵字。

       null是JavaScript語言的關鍵字,他表示的是一個特殊值,常常用來描述  “空值”  。對null執行 tyeof 預算,結果返回字元串  “object” ,也就是說,可以將null認為是一個特殊的對象值,含義是  “非對象”  。

       但實際上,通常認為null 是它  自有類型的唯一一個 成員 。 他可以表示數字、字元串、和對象是“無值”的。

       JavaScript 還有第二個值來表示 “空值”  ---undefined   用未定義的值表示 更深層次的“空值” 。它是變數的一種取值,表示變數沒有初始化,如果要查詢對象屬性或數組元素的值時返回 unfinished。引用沒有提供實參的函數形參的值也只會得到  undefined   。

        undefined是預定義的全局變數(它和null不一樣,他不是關鍵字),它的值就是“未定義” 。在ECMScripgt 3中,undefined是可讀/寫的變數可以給它賦任意值。 這個錯誤在ECMScript 5中進行了修正,在這個版本中的undefined只是可讀的,如果使用typeof 運算符得到 undefined 的類型,則返回“undefined”, 表明這個值是這個類型的唯一成員。

        儘管 null 和 undefined 是不同的,但它們都表示“值的空缺” ,兩者往往可以互換,判斷相等的運算符  “==”  認為兩者是相等的  (要使用嚴格的相等運算符  “==”  來區分它們)。 在希望值是  布爾類型  的地方它們的值都是假值。 和false 相類似。 null和undefined 都不包含任何實行和方法 。 實際上,使用“.”和“[]”來存取這兩個值得成員方法都會產生一個類型錯誤。

       你或許認為 undefined 是表示系統級的、出乎意料的或類似錯誤的值的空缺, 而null是表示程式級的、正常的或在意料之中的值的空缺。 如果你想將它們賦值給變數或者屬性,或將它們作為參數傳入函數,最佳選擇是使用null。


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

-Advertisement-
Play Games
更多相關文章
  • 通過 CSS3,我們能夠創建動畫,這可以在許多網頁中取代動畫圖片、Flash 動畫以及 JavaScript。 CSS3 動畫 CSS3 動畫 CSS3 @keyframes 規則 如需在 CSS3 中創建動畫,您需要學習 @keyframes 規則。 @keyframes 規則用於創建動畫。在 @ ...
  • 過程概述 瀏覽器查找功能變數名稱對應的 IP 地址; 瀏覽器根據 IP 地址與伺服器建立 socket 連接; 瀏覽器與伺服器通信: 瀏覽器請求,伺服器處理請求; 瀏覽器與伺服器斷開連接。 以下為詳細解析: 根據功能變數名稱查找 IP 地址 概念解釋 IP 地址:IP 協議為互聯網上的每一個網路和每一臺主機分配的一 ...
  • ▓▓▓▓▓▓ 大致介紹 接下來的這幾個博客是對前面所學知識的一個簡單的應用,來加深理解 ▓▓▓▓▓▓ 單行文本框 只介紹一個簡單的樣式:獲取和失去焦點改變樣式 基本結構: 在CSS中添加一個類為focus的樣式 然後為文本框添加獲取和失去焦點事件 效果: ▓▓▓▓▓▓ 多行文本框應用 1、高度變化 ...
  • 1.原生ajax get請求和post請求區別:黃色小三角 以get請求為例,輸出結果如下: 2.jquery中的ajax 列了常用的6個方法: 3.狀態說明 readystate: 0:請求未初始化,open未調用 1:伺服器連接已建立,open已經調用了 2:請求已接受,也就是接收到頭信息了 3 ...
  • 冒泡排序(Bubble Sort),是一種電腦科學領域的較簡單的排序演算法。 它重覆地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重覆地進行直到沒有再需要交換,也就是說該數列已經排序完成。 這個演算法的名字由來是因為越大的元素會經由交換慢慢“浮”到數列的頂 ...
  • jQuery就是用原生js寫出的框架集(Write less do more ) 1.需要註意的問題?(1).jQuery語法需要重新學習(2).jQuery需要註意版本之間的相容性 (3)不是越新的版本越好(要穩定)(4)jQuery一般有兩個版本(xxx.min.js和xxx.js) 區別就是去 ...
  • 今天做了兩個靜態html頁面,在瀏覽器中測試的時候,發現其中一個html頁面的頂部多出了些許空白,而另一個頁面顯示正常。在瀏覽器中進行了審查對比,發現有空白的那個頁面的head標簽裡面的元素全部跑到了body裡面,而且body中還多出了一個,當把這個東西刪除之後就正常了。然後又在編輯器中,對比了一下 ...
  • 原文地址:https://mobxjs.github.io/mobx/getting-started.html 寫在前面:本人英語水平有限,主要是寫給自己看的,若有哪位同學看到了有問題的地方,請為我指出,非常感謝; mobx是一個比redux更好的狀態管理包,代碼量更少,思路更清晰,沒有像redux ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...