* 基本(值)型別
* number ----- 任意數值 -------- typeof* 物件(引用)型別* string ----- 任意字串 ------ typeof
* boolean ---- true/false ----- typeof
* undefined --- undefined ----- typeof/===
* null -------- null ---------- ===
* object ----- typeof/instanceof* array ------ instanceof
* function ---- typeof
物件的組成訪問方式
var p = ,
setage: function (age)
} p.setname('bob')
p['setage'](23)
console.log(p.name, p['age'])
問題: 什麼時候必須使用['屬性名']的方式?
1. 屬性名包含特殊字元: - 空格2. 屬性名不確定
var p = {}
//1. 給p物件新增乙個屬性: content type: text/json
// p.content-type = 'text/json' //不能用
p['content-type'] = 'text/json'
console.log(p['content-type'])
//2. 屬性名不確定
var propname = 'myage'
var value = 18
// p.propname = value //不能用
p[propname] = value
console.log(p[propname])
var obj = {}
function test2 ()
// obj.test2() 不能直接, 根本就沒有
test2.call(obj) // obj.test2() // 可以讓乙個函式成為指定任意物件的方法進行呼叫 //給obj 新增了 ***屬性
console.log(obj.***)
function person(color) ;
this.setcolor = function (color) ;
} person("red"); //this是誰? window
var p = new person("yello"); //this是誰? p
p.getcolor(); //this是誰? p
var obj = {};
p.setcolor.call(obj, "black"); //this是誰? obj
var test = p.setcolor;
test(); //this是誰? window
function fun1()
fun2(); //this是誰? window
} fun1();
作用 隱藏實現不會汙染外部(全域性)命名空間, 用它來編碼js模組.
(function () )()
var a = 4
console.log(a)
(function ()
window.$ = function ()
}})() //初始化函式物件的屬性
$().test() // 1. $是乙個函式 2. $執行後返回的是乙個物件 $() ->> test 函式物件 test() 是呼叫test 組合起來就是 $().test()
Js基礎高階(一) 前言,變數
你好,朋友。歡迎進入js基礎引導 變數 經過了前段時間的js基礎引導,算是讓完完全全的小白有了比較不夯實的基礎。後續配合學校課程講到的時候進行再次鞏固,便於更好的理解。接下來涉及到的知識,個人認為是比前段時間更高階一點點點點的基礎知識。寫在這裡,一方面是給各位乙個引導,另一方面也是為了自省。各位,共...
js 高階回顧js
1 js高階 什麼是面向過程的程式設計?比如輪播圖 我們第一件事情幹嘛 第二件事情幹嘛。什麼是物件導向的程式設計?比如輪播圖 先是分析裡面有哪些物件,再是分析如何實現物件的功能 成員 什麼是面向函式的程式設計?功能封裝,函式重複呼叫。要從面向過程的思路轉換成物件導向的程式設計 比較難的過程 2 js...
js基礎高階 函式柯里化carrying
函式柯里化就是建立已經設定單個引數或者多個引數的函式,函式變為接受乙個引數,返回乙個值 function add 返回傳進來的實參之和 return mun function carrying fn var a1 carrying add,4,6,7 4,6,7 為復用引數 這裡的a1為carryi...