摘要:隱式轉換數字字符串數字轉換為字符串數字布爾值轉換為,轉換為字符串布爾值布爾值轉換為或布爾值布爾值和表示一種未知狀態,聲明了但沒有初始化的變量,變量的值時一個未知狀態。
Javascript基礎 簡介
JavaScript,一種直譯式腳本語言,是一種動態類型、基于原型的語言,內置支持類別。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,最早是在HTML網頁上使用,用來給HTML網頁增加動態功能。然而現在JavaScript也可被用于網絡服務器,如Node.js。--維基百科
javascript能做很多事情:
web前端,jQuery, Bootstrap, RequireJS等
移動Web開發 (Mobile Web),jQuery Mobile, zepto.js
Web后端,NodeJS
Hybrid App,PhoneGap, AppCan
桌面應用,如 node-webkit,heX,Electron
游戲,Cocos2d-js
超越web,JavaScript在物聯網的應用
其他:瀏覽器插件等
基礎概念 標識符所謂標識符是指變量、函數、屬性的名字,或者函數的參數。標識符的書寫有幾個特征
區分大小寫
第一個字符必須是字母、下劃線(_)、或者是$
后面的可以是字母、數字、下劃線、$
命名規范變量使用駝峰命名法,第一個單詞首字母小寫,后面單詞首字母大寫
變量使用名詞,方法函數使用動詞開頭,常量全部用大寫字母,構造函數首字母大寫
命名要包含語義
var firstName; var isArray; var PI; function Person(){}變量
變量是對“值”的引用,javascript 用var來聲明變量。
var a = 1;
聲明變量未賦值,那么變量的值為 undefined。
var a; a // undefined變量提升
所謂變量提升,就是javascript引擎先解析代碼,獲取所有聲明的變量,然后再一行一行地運行,而所有的變量以及聲明語句,都會被提升到代碼的頭部。
console.log(a); //undefined var a = 1;語句
語句是為了完成某種任務的操作,語句以分號結尾,一個分號就表示一個語句結束。
var a = 1+2; var b = "str";注釋
注釋就是在程序開發中添加的標注,方便閱讀。js引擎會忽略這些語句。
javascript有兩種注釋:一種是單行注釋,另一種是多行注釋。
//單行注釋 var a=1;//為變量a賦值 /* 多行注釋 */ function getName(id){ return id; }數據類型
Javascript 中的每一值,都屬于某一種數據類型。Javascript的數據類型有六種(ES6新增了第七種Symbol)
數值(number):整數和小數(比如1和3.14)
字符串(string):字符組成的文本(比如"Hello World")
布爾值(boolean):true(真)和false(假)兩個特定值
undefined:表示“未定義”或不存在,即此處目前沒有任何值
null:表示空缺,即此處應該有一個值,但目前為空
對象(object):各種值組成的集合
通常,我們將數值、字符串、布爾值稱為原始類型(primitive type)的值,即它們是最基本的數據類型,不能再細分了。而將對象稱為合成類型(complex type)的值,因為一個對象往往是多個原始類型的值的合成,可以看作是一個存放各種值的容器。至于undefined和null,一般將它們看成兩個特殊值。
數據類型轉換
轉換函數
toString() 轉換為字符串,在JavaScript中所有數據類型都可以轉換為string類型
var n1 = 12; var n2 = true; var a = [1, 2, 3]; var o = {}; function f(){} n1.toString(); //"12" n2.toString(); //"true" a.toString(); //"1,2,3" o.toString(); //"[object Object]" f.toString(); //"function f(){}"
parseInt() 解析出一個string或者number類型的整數部分,如果沒有可以轉換的部分,則返回NaN(not a number)
var n1 = "12"; var n2 = "23hello"; var n3 = "hello"; parseInt(n1); //12 parseInt(n2); //23 parseInt(n3); //NaN
parseFloat() 解析出一個string的浮點數部分,如果沒有可以轉換的部分,則返回NaN(not a number)。
var n1 = "1.2.3"; var n2 = "1.2hello" var n3 = "hello" parseFloat(n1); //1.2 parseFloat(n2); //1.2 parseFloat(n3); //NaN
強制類型轉換
Boolean(value)——把給定的值轉換成Boolean型;
Boolean(123); //true Boolean(""); //false Boolean([]); //true Boolean({}); //true Boolean(null); //false Boolean(undefined); //false
Number(value)——把給定的值轉換成數字(可以是整數或浮點數);
Number("123"); //123 Number("123h"); //NaN Number(true); //1 Number(false); //0 Number(undefined); //NaN Number(null); //0 Number([]); //0 Number({}); //NaN
String(value)——把給定的值轉換成字符串。
String(123); //"123" String([1,2]); //"1,2" String(undefined) //"undefined" String(null) //"null" String({}) //"[object Object]"
隱式轉換
數字+字符串:數字轉換為字符串
console.log(12+"12"); //1212
數字+布爾值:true轉換為1,false轉換為0
console.log(12+true); //13
字符串+布爾值:布爾值轉換為true或false
console.log("hello"+true); //hellotrue
布爾值+布爾值
console.log(true+true); //2null和undefined
undefined 表示一種未知狀態,聲明了但沒有初始化的變量,變量的值時一個未知狀態。訪問不存在的屬性或對象window.xxx)方法沒有明確返回值時,返回值是一個undefined.當對未聲明的變量應用typeof運算符時,顯示為undefined。
null表示尚未存在的對象,null是一個有特殊意義的值。可以為變量賦值為null,此時變量的值為“已知狀態”(不是undefined),即null。(用來初始化變量,清除變量內容,釋放內存)
undefined==null //結果為true,但含義不同。 undefined===null //false,兩者類型不一致,前者為“undefined”,后者為“object”
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86369.html
摘要:基礎鞏固基礎總結使用已經好幾年了,由于工作主要是做服務端開發,在工作中逐漸發現的使用范圍原來越廣泛。這里要注意,務必將基礎部分掌握牢靠,磨刀不誤砍柴功,只有將基礎部分掌握并建立起系統的知識體系,在后面學習衍生的其他模式才能游刃有余。 基礎鞏固:JavaScript基礎總結 使用JavaScript已經好幾年了,由于工作主要是做服務端開發,在工作中逐漸發現JavaScript的使用范圍原...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優秀經典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優秀經典前端/Java后端書籍。全文為純原創,且將持續更新,未經許可,不得進行轉載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎 基礎書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優秀經典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優秀經典前端/Java后端書籍。全文為純原創,且將持續更新,未經許可,不得進行轉載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎 基礎書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優秀經典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優秀經典前端/Java后端書籍。全文為純原創,且將持續更新,未經許可,不得進行轉載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎 基礎書籍 進階 進階階段,深入學習的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學習即將閱讀的一些優秀經典前端后端書籍。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學習、即將閱讀)的一些優秀經典前端/Java后端書籍。全文為純原創,且將持續更新,未經許可,不得進行轉載。當然,如果您喜歡這篇文章,可以動手點點贊或者收藏。 基礎 基礎書籍 進階 進階階段,深入學習的書...
摘要:下面我們從前端基礎和底層原理開始講起。對于和這三個對應于矢量圖位圖和圖的渲染來說,給前端開發帶來了重武器,很多小游戲也因此蓬勃發展。這篇文章受眾之大,后來被人重新整理并發布為,其中還包括中文版。 showImg(https://segmentfault.com/img/bVbjM5r?w=1142&h=640); 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! 這...
閱讀 2008·2021-11-24 09:39
閱讀 1143·2021-09-10 11:25
閱讀 1769·2021-09-08 10:42
閱讀 3733·2021-09-06 15:00
閱讀 2498·2019-08-30 15:54
閱讀 3117·2019-08-29 17:08
閱讀 3272·2019-08-29 11:26
閱讀 2840·2019-08-28 18:27