摘要:今天我們要說的就是數(shù)據(jù)類型,新接觸的小伙伴對這個可能就覺得比較迷糊了,怎么數(shù)據(jù)還有類型當(dāng)然上一期我們介紹了變量,利用變量我們可以大量減少重復(fù)的代碼,不知道大家有沒有注意這個被存儲的值,可是很多變的例如等等等我們會發(fā)現(xiàn)一會英文,一會數(shù)字。
公布上期答案:小駝峰我們經(jīng)常用在變量、函數(shù)名屬性名這樣的標(biāo)識符身上。
而大駝峰的命名方式,我們更多用在class(類)上。
這里需要注意的是:“不是一定要這樣操作,而是一種默認(rèn)的約定。
遵從這樣的方式命名,不容易一眼被看出來剛學(xué)習(xí)js哦~?!?/p>
今天我們要說的就是數(shù)據(jù)類型,新接觸的小伙伴對這個可能就覺得比較迷糊了,怎么數(shù)據(jù)還有類型??
當(dāng)然~上一期我們介紹了變量,利用變量我們可以大量減少重復(fù)的代碼,不知道大家有沒有注意這個被存儲的值,可是很多變的~
例如:
var a = "miaov"; var b = 20181217; var c = true;
等等等...我們會發(fā)現(xiàn)一會英文,一會數(shù)字。但是有的加引號,有的就不加??
這到底因為什么呢?
這就是我們今天要介紹的大主題:數(shù)據(jù)類型,接下來~就有請這個大家庭成員一位一位登場吧~
數(shù)據(jù)類型大分類
我們把數(shù)據(jù)類型分為兩個大類:
? 基本類型(簡單類型)
? 復(fù)雜類型(引用類型)
我們來看看基本類型有多基本,復(fù)雜類型有多復(fù)雜~
有請第一位:
基本類型 - String
String類型是由0或者多個字符組成的,就像我們吃燒烤,給所有食材串起來~所以我們把String叫做字符串。
那我們怎么分辨什么是字符串呢?大家注意看圖,串的前后都露出來簽。
我們的字符串的前后也有一個標(biāo)志,就是——引號,字符串由一對雙引號("")或者單引號("")包裹,在這里雙引號和單引號沒有差別~所以,以下兩種都是字符串的表現(xiàn)方式:
var a = "miaov"; var b = "miaov";
這里對于學(xué)習(xí)后端的同學(xué)可能會不太習(xí)慣~因為在后端中,單引號和雙引號是不一樣的,單引號只能是字符。
但是在ECMAScript中是沒有差別的。需要額外注意的是符號必須是配對的,不能出現(xiàn)如下配對:
var str = "miaov"; //左邊單引號 右邊雙引號,不配對
為什么要強調(diào)這個問題呢?因為有時候我們想要存儲的字符串可能本身自己就帶有引號,像下面這樣:
//這是"miaov"的紅寶書系列 <-這是我想存的內(nèi)容 var str = "這是"miaov"的紅寶書系列"; //錯誤的方式 var str = "這是"miaov"的紅寶書系列"; //這才是正確的
如果又有雙引號又有單引號怎么辦?
同學(xué),你思維很活躍哦~
這時候我們需要用到一個東西 —— 轉(zhuǎn)義。
轉(zhuǎn)義是一個
我們來看一下案例:
以上為str中存儲值打印的截圖
字符串的特點
ECMAScript中的字符串是不可變的,也就是說你只要創(chuàng)建出來,它就不能被改變了,但是很多小伙伴覺得,不會啊:
var lang = "Java"; lang = lang + "Script";
這不就改過來了么??(關(guān)于+號,我們后面再說,這里大家只要知道,它就是拼接的功能)
事實上在這里,當(dāng)我們想要改變某個變量保存的字符串,首先,它是銷毀了原來的字符串的??!然后再用另一個包含新值的字符串填充該變量的。
那么上面這個案例它具體是怎么個步驟呢?
來看一下
第一步:創(chuàng)建一個可以容納10個字符的新字符串
第二步:在這個字符串中填充"Java"和"Script"
第三步:銷毀原來的字符串"Java"和"Script",因為已經(jīng)用不到了,我們需要的是第一步時候創(chuàng)建的新字符串。
這個過程是發(fā)生在后臺的,我們看不到,在某些舊版本的瀏覽器(指的是:IE6、低于1.0的Firefox等),因為這種頻繁的創(chuàng)建和銷毀,導(dǎo)致拼接字符串的性能很差,所以很多時候,我們會選擇使用join方法。
不過在現(xiàn)代瀏覽器中對字符串的“+”運算做了優(yōu)化,已經(jīng)解決了這個問題,就可以放心使用哦~
問題來了:那么"+"的拼接方式還是最慢的么?知道的同學(xué)趕緊留言哦~下期我們揭曉答案!
下期預(yù)告
下期帶來基本類型 - Number,不是數(shù)字的數(shù)字類型等你來看~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100279.html
摘要:本文作為系列的第四篇內(nèi)容,將會用一個簡單的聊天應(yīng)用把整個傳輸二進制數(shù)據(jù)類型的內(nèi)容連接起來,讓用戶對整個傳輸二進制數(shù)據(jù)的方法有個了解。如何發(fā)送二進制數(shù)據(jù)通過如何設(shè)計一個二進制協(xié)議一章,我們知道了如何定義傳輸?shù)亩M制數(shù)據(jù)格式。 概述 通過前三篇博客,我們能夠了解在通過WebSocket發(fā)送數(shù)據(jù)之前,我們需要傳遞的數(shù)據(jù)是如何變成ArrayBuffer二進制數(shù)據(jù)的;在我們收到二進制數(shù)據(jù)之后,我...
摘要:今天介紹一下開發(fā)中,定義模型時用到的相關(guān)字段類型和字段選項。的實例是作為類型保存到數(shù)據(jù)庫中的,默認(rèn)字符串的最大長度是,但是可以使用參數(shù)指定最大長度。浮點類型,用中的實例表示整數(shù)類型。關(guān)于的字段類型和參數(shù)就先講到這里。 今天介紹一下django開發(fā)中,定義模型時用到的相關(guān)字段類型和字段選項。 先說說常用的字段類型:1) AutoField: 自增字段類型,當(dāng)自定義自增類型的id時,可以使...
摘要:總結(jié)通過使用和,我們能夠在數(shù)據(jù)和二進制數(shù)據(jù)中進行互相轉(zhuǎn)換。下一篇系列相關(guān)的博客,將會介紹如何通過來向后端傳遞二進制數(shù)據(jù),以及如何處理通過收到的二進制數(shù)據(jù)。 概述 上一篇博客我們說到了如何進行數(shù)字類型(如Short、Int、Long類型)如何在JavaScript中進行二進制轉(zhuǎn)換,如果感興趣的可以可以閱讀本系列第二篇博客——WebSocket系列之JavaScript中數(shù)字?jǐn)?shù)據(jù)如何轉(zhuǎn)換為...
摘要:概述本文是系列的第一篇,主要介紹相關(guān)的基礎(chǔ)協(xié)議知識和??蛻舳耸盏巾憫?yīng)后,立即發(fā)起下一次的請求。收到消息通過事件來接收消息。類型則需要傳遞一個對象作為參數(shù),相關(guān)的內(nèi)容也將在本系列第二篇中進行介紹。 概述 本文是WebSocket系列的第一篇,主要介紹WebSocket相關(guān)的基礎(chǔ)協(xié)議知識和API。由于WebSocket的相關(guān)介紹在MDN中分布較亂,初學(xué)者不太容易入門,因此通過本文將相關(guān)基礎(chǔ)...
閱讀 1385·2021-09-13 10:25
閱讀 569·2019-08-30 15:53
閱讀 2279·2019-08-30 15:44
閱讀 2039·2019-08-29 17:20
閱讀 1606·2019-08-29 16:36
閱讀 1807·2019-08-29 14:10
閱讀 1794·2019-08-29 12:44
閱讀 1176·2019-08-23 14:13