這里沒有進行建構式,這里的this指向的是window 相當于window.color

this如果又實體,指向實體化物件,如果沒有實體指向window ,函式成為建構式需要 new 一下

探究其中程序: this的原理
只要執行了函式,函式的ao就自動保存this={} 賦值為空物件,當進行new的時候函式內部就已經跑完了

當賦值給car1的時候,go就會將this的屬性給car1

函式最后會有一個隱式的return this;this就賦值給了car1,car1在go的東西就是this里面的東西

this的寫法相當于:自己寫了一個空物件,將形參去對應實參,讓后讓物件回傳,之后 car物件的賦值物件就是 函式回傳的物件

如果return 回傳的參考子就回傳參考值,如果是原始值就回傳原始值,this就不會賦值給要賦值的變數,而是回傳寫的東西

javascript僅僅是進行一個模擬的面向物件,違背了一些類的原則
包裝類
原始值是沒有自己的方法和屬性,但是原始值不一定是永遠都是原始值,
如下面new Number:可以進行參考值設定屬性,在運算的時候又變成原始值進行運算,不進行運算的時候,又可以變成參考型別添加屬性和方法






undefined和null是不可以設定任何的屬性和方法的


原始值進行設定屬性的程序:
a.len =3進行設定屬性的程序(這就是包裝類的程序)
會進行number的轉換,在number里面設定屬性len=3,但是原始值是無法保存屬性的,會進行一個洗掉操作

關于stirng的length的解釋:
如字串‘abc’是沒有length屬性的,只是在列印的時候進行了一個 new String(str).length)的轉換

陣列的截斷方法:通過設定陣列的length就可以進行截斷

如果多了,之后的就是empty

原始值string進行設定屬性的詳解:

某個大公司的面試題:

經典閉包面試題:


列印題目:
答案第一個和第三個會列印[1,2,3,4,5]


基礎題:

作業:寫一個函式,接收任意一個字串,算出這個字串的總位元組數
ASCII碼 表1:0-127 表二:128-255 全部是一個位元組
UNICODE碼: 涵蓋ASCII碼,0-255位的全是ASCII碼的,255位之后的就是2個位元組d的
例:
var str ='a' var pos =str.charCodeAt(0) //這個能夠找到對應位置所在unicode的第幾位 console.log(pos)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/270877.html
標籤:JavaScript
