javascript快速入門

標識符多了一個美元符號
python中只有字母和下劃線和數字,數字不能開頭
數據類型有number(整形和浮點型),boolean,string,null,undefined(聲明未賦值),symbol(新引入),object類型(基本類型和特殊類型外的其他類型)

引入一個變量要先申明,
var a,
let b
常量類型,聲明時定義,python中不存在
const c = 12
var 和 let 隱式表達了它的作用域,var默認全局,let默認代碼塊內部(大括號限定的區域,包括if,while,for語句)
但是如果聲明在函數中var也只是函數中的作用域
let 定義在外部,{}和函數內部一樣也可以調用
var相當于在python中的普通變量
let只是在塊中才會限定作用域

var,let,const 對函數對象也會起作用
比如 var add = function (x,y){ return x+y }

不同類型的相加和短路運算符的類型轉換
所有類型與字符串相加(可以交換)都是隱式轉換為字符串
與數值形相加,布爾形相當于1或0參與相加, null相當于0處理,還可以相減
布爾形自身相加減也是相當于1或0加
undefined與其他類型相加減,返回NaN都是數值型,NaN是number類型的一個特值
null是object的一個空值

定義了名字的塊,只能表示 enties的,分為key和value

for 語句
for (x in iters)
console(i) 打印對象的索引
for (x of iters)
console(x) 打印對象的值
經測試,使用他打印塊字典對象的值有異常

函數:
函數的參數,函數對參數要求非常的低,默認位置參數,沒有關鍵字傳參,形參沒有匹配的實參
默認為undified,多傳參不會出錯,收集參數(可變參數)…args要在形參的最后.
打印一個函數,python顯示
<function abc at 0x0000020553CDF7B8>
js顯示 [Function: abc]

ES6以前類的定義
function add(x,y){
this.x = x // –>用來構造實例的特征屬性或方法
this.y = y
console.log(this) // –>公共執行的代碼
let abs = x // –> 類的屬性,所有實例都有的屬性
}
打印一個 add 表示是一個函數,
執行普通調用 add(1,2)
實例化 ,使用new關鍵字 , a = new add(2,3), 調用的函數也可以叫做構造器
function addd(x,y,z){
add.call(this,x,y) //調用父類,調用后相當于繼承,第一個參數需要給this,否則不能繼承,后面的參數為,
this.z= z //傳進的實參參數,他會被收集賦給父類函數,調用以后可以進行后續的調用父類的屬性(只能調用實例屬性或函數)
console.log(this.x,this,y,this,z)
}

新式ES6以后
class Point {
constructor(){ // 相當于init,初始化對象時默認運行,一般用來賦值this屬性,可以接收參數
this.x = 1
this.y = 2
console.log(‘point’,this.x,this.y)
}
show(x,y){ // 使用類的對象調用,
console.log(x,y)
console.log(‘_point’)
this.z =3
}
}
p = new Point() 初始化
p.show(2,3) 調用非this屬性的函數方法,如果this屬性有相同名屬性優先調用屬性,而且要遵守調用它的格式
類的繼承
class Point3d extends Point{
constructor (x,y) { //可以如果不寫相當于調用了 constructor(){ super() }
super() //必須要寫,如果要傳參, 把實參寫入,它將被按序收集
} // 父類的this屬性可以被重寫
//父類的函數子類的實例可以調用,也可以被重寫
}

try/catch語句
try { //默認執行直到 throw對象,
console.log(‘try–‘)
throw ReferenceError(‘new error’); //throw的必須為一個對象(javascript不能理解一切皆對象),必須為基本
//throw console.log(‘–out’) //類型,或者object(函數,塊,類),最后null也不識別
console.log(‘–out’)
}catch (error) {
console.log(‘—–‘)
console.log(error,typeof(error)) // 只會顯示基本類型或者object
console.log(error.constructor) // 會顯示具體類型
}

數組的解構 使用中括號和變量名解構,類似函數對參數的解構要求,支持可變參數,支持默認值

塊字典的解構,要按照字典的鍵來解構,否則解構得到undefined
支持定義缺省值.支持收集參數,收集的值類型為object,且不需要有對應的鍵

數組的內建函數
arr.push(4,6,’fg’) 把參數添加進數組后面
arr.pop() 無參,彈出最后一個
newarr = arr.map(fn) 把數組的值依次作為參數放入fn中處理,獲得的返回值組成一個新的數組
newarr = arr.filter(fn) 過濾數組返回一個新的數組
arr.forEach(function (e){ 把數組的元素依次放入函數中執行
if(e%2==0){
newarr.push(e)
}
else{
newarr.push(0)
}
})
console.log(newarr)

塊字典的處理函數
Object.keys .values .entries
Object.assign() //將可以處理成鍵值對的都包裝合并成一個塊字典,后面的鍵會覆蓋前面的同名的鍵和值

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91120

(0)
daishitongdaishitong
上一篇 2018-01-15 08:58
下一篇 2018-01-15 15:46

相關推薦

  • 淺談Openssl與私有CA搭建

        隨著網絡技術的發展、internet的全球化,信息共享程度被進一步提高,各種基于互聯網的應用如電子政務、電子商務日益增多并愈加被人們工作和生活依賴。但是,由于互聯網的開放性和通用性,網絡上的信息是對所有人公開的,這就使網絡上的數據傳輸過程中存在被竊聽、篡改等安全隱患,并極有可能給用戶帶來不可估量的損失。為此,各種保證數據在互聯網上…

    Linux干貨 2015-06-04
  • iptables歸納總結

    先簡單介紹下iptables IPTABLES的幾點概念  1、容器:包含或者說屬于的關系  2、Netfilter/iptables是表的容器,iptables包含的各個表 (filter,NAT,MANGLE,RAW)  3、iptables的表tables又是鏈的容器 鏈chains:INPUT,OUTPUT,FORWAR…

    Linux干貨 2017-05-02
  • Linux啟動和內核管理

    Linux啟動和內核管理   CentOS 5和6的啟動流程服務管理Grub管理自制Linux啟動排錯編譯安裝內核   Linux組成Linux: kernel+rootfskernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能rootfs:程序和glibc庫:函數集合, function, 調用接口(頭文件負責描述)…

    Linux干貨 2017-09-04
  • socket阻塞與非阻塞,同步與異步、I/O模型

    1. 概念理解      在進行網絡編程時,我們常常見到同步(Sync)/異步(Async),阻塞(Block)/非阻塞(Unblock)四種調用方式:同步:      所謂同步,就是在發出一個功能調用時,在沒有得到結果之前,該調用就不返回。也就是必須一件一件事做,等前…

    Linux干貨 2015-04-10
  • Linux下文件權限管理輕微總結

    Linux下文件權限管理輕微總結       此文對linux下文件的權限及其如何管理權限進行介紹,涉及到讀“r”寫“w”執行“x”三個權限,特殊權限SUID、SGID、STICKY、ACL、attr的使用。同時對更改文件的指令chmod、getfacl、setfacl、chattr、lsattr等進行說明。  &nb…

    Linux干貨 2016-11-07
  • 邏輯卷

    LVM是邏輯卷管理(Logical Volume Manager)的簡稱,它是建立在物理存儲設備之上的一個抽象層,允許你生成邏輯存儲卷,與直接使用物理存儲在管理上相比,提供了更好靈活性。       LVM將存儲虛擬化,使用邏輯卷,你不會受限于物理磁盤的大小,另外,與硬件相關的存儲設置被其隱藏,你可以不用停止應用或卸載…

    Linux干貨 2016-09-01
欧美性久久久久