列印: 列印: 列印: break 和 continue 的區別 1.break 2.continue 練習: 對象 一、 在ECMAscript中,引用類型是一種數據結構.用於將數據和功能組織在一起.在其他語言這種數據結構一般屬於類(class)的範疇 .儘管ECMAscript是一門面向對象的語 ...
接上一篇筆記 ----->
列印:
列印:
列印:
一、break 和 continue 的區別
1.break
1.break語句可用於跳出迴圈
2.也可以用break語句在迴圈結構終止本層迴圈體,從而提前結束本層迴圈(所在的迴圈體已經結束)
2.continue
1.continue語句的作用是跳過本次迴圈體中餘下尚未執行的語句,如果出現了指定的條件,然後繼續迴圈中的下一個迭代。可以理解為僅結束本次迴圈。
2.continue所在的迴圈體並沒有結束
練習:
輸出00以內的質數的最簡記憶體占用最少的方式 其中Math.sqrt sqrt() 方法可返回一個數的平方根
二、對象
1、在ECMAscript中,引用類型是一種數據結構.用於將數據和功能組織在一起.在其他語言這種數據結構一般屬於類(class)的範疇
.儘管ECMAscript是一門面向對象的語言,但它不具備傳統的面向對象語言所支持的類和介面等基本結構.
2、對象是某個特定引用類型的實例
對象是使用new 操作符後跟一個構建函數來創建的
構造函數本身就是一個函數,只不過該函數是出於創建新對象的目的而定義的。
其實本質上ECMAscript是沒有構造函數的,只存在函數的構造調用。var obj=new Object();
3、對象的分類
1.內建對象
--由ES標準中定義的對象,在任何的Es的實現中都可以使用
--比如:Object Function Array Date String Number Boolean
2.宿主對象
--由JS的運行環境提供的對象,目前來講主要是由瀏覽器提供的對象
--比如 BOM DOM
3.自定義對象
--由開發人員自己創建的對象
//ES5(面向原型)var man={ age:30, height:180, wife:{ name:"媚拉", age:28, height:170 } }; man.name="吳彥祖";//c console.log(man.name);//r man.name="彭於晏";//update console.log(man.name);//r delete man.name;//d console.log(man.name)//r console.log(man.wife)//r
繼承
//引用數據類型 對象(存儲數據的一種容器) 所有程式的核心:存儲與使用值!!
對象的屬性增刪改查
註意:
如果讀取對象中沒有的屬性,不會報錯而是會返回undefined
對象的屬性名不強制要求遵守標識符的規範
JS對象的屬性值,可以是任意的數據類型,甚至也可以是一個對象
in 運算符
通過該運算符可以檢查一個對象中是否含有指定的屬性
如果有則返回true,沒有則返回false
語法:
"屬性名" in 對象
for-in 迴圈
var obj = { a: "aa", b: "bb", c: "cc", d: "dd" } for(var item in obj){ console.log(item) }數據存儲位置
js中的變數都是保存到棧記憶體中的 1.基本數據類型的值直接保存在棧記憶體中存儲,值與值之間 是獨立存在的,修改一個變數不會影響其他的變數 2.對象是保存到堆記憶體中的,沒創建一個新的對象,就會 在堆記憶體中開闢出一個新的空間, 而變數保存的是對象的記憶體地址(對象的引用),如果兩個變數保存的是同一個對象引用, 當一個對象通過一個變數修改屬性時,另一個也會受到影響
引用數類型做 == 判斷時 比較的是棧中的地址值
函數是JS中的一等公民 推薦的是函數化編程
立即可執行表達式:(function(){})()
沒有重載:同名函數之間存在的是覆蓋的關係,後面的覆蓋前面定義的函數。
js中沒有重載的概念
js中的函數 實參列表可以和形參列表不一致
function test(num){//形參 out:for(var i=2;i<num;i++){ for(var j=2;j<=Math.sqrt(i);j++){ if(i%j===0){ continue out } } console.log(i) } } num(1000);//實參
function test(){
//return undefined 預設一個return undefined
}
console.log(test())
總結:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
1. 函數是js中的一等公民 js推崇函數化編程
2. js中只有函數這個概念 不分普通函數和構造函數
分函數的普通調用 函數() ---> 普通函數
函數的構造調用 new 函數() ---> 構造函數
js中是不存在構造函數的定義語法的!! 只有函數的構造調用
當一個函數被構造調用(new)時,當前這個函數就可以被認為是一個構造函數
3. 在js中萬物皆對象
4. 對象 也叫實例 也叫實例對象
5. 函數對象 Object對象 自定義對象 Person對象
*/
// 在js中有個不成文的規定 首字母大寫的函數 一般使用起來都是構造調用的