JS高階基礎

2021-08-31 09:19:02 字數 2173 閱讀 4249

* 基本(值)型別

* 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...