詳解javascript的基本資料型別與值型別引用
[導讀] 本文主要講了javascript中的基本資料類型,以及值類型和引用類型的差異與使用
一、基本資料型別
在javascript中申明變數所使用的關鍵字都是var,這點與其他的程式語言不盡相同,但是javascript亦含有五種基本的資料型態(也可以說是簡單資料型別),它們分別是:Undefined,Null,Boolean,Number和String。也含有一種複雜資料型別—Object。
(1)、"undefined"-未申明,或變數的值即為undefined或未初始化;
(2) 、"boolean" -如果這變數的值是布林型別;
(3)、"string" -值是字串型別;
(4)、"number" -值是數字型別;
(5)、"object" ——物件或值為null;
typeof這個關鍵字是一定要說的,因為javascript是鬆散類型的,在變數申明時並沒有使用與之類型相對應的關鍵字,如果在程式碼中想要獲知某個變數的基本資料量,就可以使用typeof。這裡要注意的是typeof回傳的是字串類型。
(5)、"function" ——函數。
實例驗證:
#
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> function test1(){ var testMessage; alert(typeof testMessage); } function test2(){ var testMessage = null; alert(typeof testMessage); } function test3(){ var testMessage = "hello"; alert(typeof testMessage) } function test4(){ var testMessage = 12; alert(typeof testMessage) } function test5(){ var testMessage = true; alert(typeof testMessage) } function test6(){ var testMessage = []; alert(typeof testMessage) } function test7(){ var testMessage = []; alert(typeof testMessage) } function test8(){ var testMessage = new Object(); alert(typeof testMessage) } function test9(){ alert(typeof test8) } </script> </head> <body> <button type="button" id="button1" onclick = "test1()">测试undefined</button> <button type="button" id="button2" onclick = "test2()">测试null</button> <button type="button" id="button3" onclick = "test3()">测试string</button> <button type="button" id="button4" onclick = "test4()">测试number</button> <button type="button" id="button5" onclick = "test5()">测试boolean</button> <button type="button" id="button6" onclick = "test6()">测试[]</button> <button type="button" id="button7" onclick = "test7()">测试{}</button> <button type="button" id="button8" onclick = "test8()">测试Object</button> <button type="button" id="button9" onclick = "test9()">测试function</button> </body> </html>
1、Undefined
Undefined類型只有一個值,即undefined。當宣告的變數尚未初始化時,變數的預設值為undefined
#
function test1(){ var testMessage; alert(typeof testMessage); }
2、Null
#Null型別也只有一個值,即null。 null用來表示尚未存在的對象,常用來表示函數企圖回傳一個不存在的物件
function test2(){ var testMessage = null; alert(typeof testMessage); }
#3、string
#字串,字串可以是引號中的任意文字。可以使用單引號或雙引號:
function test3(){ var testMessage = "hello"; alert(typeof testMessage) }
4、number #
可以是浮點數,整數function test4(){ var testMessage = 12; alert(typeof testMessage) }
5、boolean
布林型,有兩個值true or false.
function test5(){ var testMessage = true; alert(typeof testMessage) }
6、obeject:
物件與數組,還有null也是。 物件和陣列裡都可以包含不同的類型,包括物件和陣列。
function test6(){ var testMessage = []; alert(typeof testMessage) } function test7(){ var testMessage = []; alert(typeof testMessage) } function test8(){ var testMessage = new Object(); alert(typeof testMessage) }
7、function
函数类型
function test9(){ alert(typeof test8) }
二、值类型与引用类型
(1)值类型:数值、布尔值、null、undefined
值类型指的是保存在栈内存中的简单数据段,按值访问,操作的是他们实际保存的值;
(2)引用类型:对象、数组、函数
引用类型指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象;引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;
如:以下都是引用类型
var cars= new Array; var person= new Object;
1、值类型实例:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> function fun1(){ var a=1; var b=a; b=-1; alert("a="+a+" b="+b); } function fun2(){ var a=new String("lin"); var b=a; b = new String("bing"); alert("a="+a+" b="+b); } function fun3(){ var a="lin"; var b=a; b = "bing"; alert("a="+a+" b="+b); } </script> </head> <body> <button type="button" id="button1" onclick = "fun1()">测试值类型</button> <button type="button" id="button2" onclick = "fun2()">测试值类型</button> <button type="button" id="button1" onclick = "fun3()">测试值类型</button> </body> </html>
2、引用类型实例
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript"> function fun1(){ var a=[1,2,3]; var b=a; a[0]=1000; alert("a="+a+" b="+b); } function fun2(){ var a = [1,2,3]; var b = a; b = [11, 12, 13];//b指向了另一个内存地址,与a断开关联 a[0] = 2; alert("a="+a+" b="+b); } function fun3(){ function ClassDemo(){ this.name = "linbingwen"; this.url = "我的博客:http://blog.csdn.net/evankaka"; } var objDemo = new ClassDemo(); var objDemo1 = objDemo; var objDemo2 = objDemo; objDemo1.url = "我的主页:http://my.csdn.net/Evankaka"; alert( "objDemo1.url的值:詳解javascript的基本資料型別與值型別引用n" + objDemo1.url + "詳解javascript的基本資料型別與值型別引用n" + "objDemo2.url的值:詳解javascript的基本資料型別與值型別引用n" + objDemo2.url ); } </script> </head> <body> <button type="button" id="button1" onclick = "fun1()">测试引用类型</button> <button type="button" id="button2" onclick = "fun2()">测试引用类型</button> <button type="button" id="button3" onclick = "fun3()">测试引用类型</button> </body> </html>
注意:
undefined,null,空字符串,0都等于false,都可以通过!来取反。
以上是詳解javascript的基本資料型別與值型別引用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

隨著網路金融的快速發展,股票投資已經成為了越來越多人的選擇。而在股票交易中,蠟燭圖是常用的技術分析方法,它能夠顯示股票價格的變動趨勢,幫助投資人做出更精準的決策。本文將透過介紹PHP和JS的開發技巧,帶領讀者了解如何繪製股票蠟燭圖,並提供具體的程式碼範例。一、了解股票蠟燭圖在介紹如何繪製股票蠟燭圖之前,我們首先需要先了解什麼是蠟燭圖。蠟燭圖是由日本人

隨著短影片平台的盛行,影片矩陣帳號行銷已成為一種新興行銷方式。透過在不同平台上建立和管理多個帳號,企業和個人能夠實現品牌推廣、粉絲成長和產品銷售等目標。本文將為您探討如何有效運用視訊矩陣帳號,並介紹不同類型的視訊矩陣帳號。一、視訊矩陣帳號怎麼做?要做好視訊矩陣帳號,需要遵循以下幾個步驟:首先要明確你的影片矩陣帳號的目標是什麼,是為了品牌傳播、粉絲成長還是產品銷售。明確目標有助於制定相應的策略。 2.選擇平台:根據你的目標受眾,選擇合適的短影片平台。目前主流的短視頻平台有抖音、快手、火山小影片等。

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

js和vue的關係:1、JS作為Web開發基石;2、Vue.js作為前端框架的崛起;3、JS與Vue的互補關係;4、JS與Vue的實踐應用。

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務

Go函數可以傳回多個不同類型的值,傳回值類型在函數簽章中指定,並透過return語句傳回。例如,函數可以傳回一個整數和一個字串:funcgetDetails()(int,string)。在實戰中,一個計算圓面積的函數可以回傳面積和一個可選錯誤:funccircleArea(radiusfloat64)(float64,error)。注意事項:如果函數簽章未指定類型,則傳回空值;建議使用明確類型宣告的return語句以提高可讀性。

js刷新目前頁面的方法:1、location.reload();2、location.href;3、location.assign();4、window.location。詳細介紹:1、location.reload(),使用location.reload()方法可以重新載入目前頁面;2、location.href,可以透過設定location.href屬性來刷新目前頁面等等。
