本文目錄一覽:
淺談js函數中的實例對象、類對象、局部變數(局部函數)
定義
function
Person(national,age)
{
this.age
=
age;
//實例對象,每個示例不同
Person.national
=
national;
//類對象,所用實例公用
var
bb
=
0;
//局部變數,外面不能訪問(類似局部函數)
}
調用
var
p
=
new
Person(“中國”,
29);
document.writeln(“age:”
+
p.age);
document.writeln(“object
national:”
+
p.national);
document.writeln(“Class
national:”
+
Person.national);
document.writeln(“local
var:”
+
p.bb);
var
p2
=
new
Person(“美國”,
31);
document.writeln(“/br”);
document.writeln(“age:”
+
p2.age);
document.writeln(“object
national:”
+
p2.national);
document.writeln(“Class
national:”
+
Person.national);
document.writeln(“local
var:”
+
p2.bb);
document.writeln(“/br”);
document.writeln(“Class
national:”
+
Person.national);
//age:29
object
national:undefined
Class
national:中國
local
var:undefined
//age:31
object
national:undefined
Class
national:美國
local
var:undefined
//Class
national:美國
以上這篇淺談js函數中的實例對象、類對象、局部變數(局部函數)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
JavaScript實例和對象的區別?
關於js中實例和對象的解釋如下:
比如定義persion如下:
var person = new Object();
var person = {};
JS 是基於原型的面向對象語言, 所有數據都可以當作對象處理,所以 person 是對象, 可以把它當作是 Object 的實例. 當然, 一切都是對象。
第二個採用對象字面量的方式生成的person也是如此。
然而它內部沒有調用new Object(),而是採用JSON的初始化方式:
將現有的引用指向person。
實例和對象的區別,從定義上來講:
1、實例是類的具象化產品,
2、而對象是一個具有多種屬性的內容結構。
實例都是對象,而對象不全是實例。
Js裡面沒有類(ES6以前)的語法,所以類的概念就通過創造一個對象來實現。
JS基礎所有知識點
元素.onmouseover
函數可以理解為方法,工具比如
變數就是變化的量,由數字,字母,下劃線,美元($)組成.但是開頭不能用數字。定義一個變數必須用var也可以用window[“xxx”]
自定義屬性 abtn[0].abc = 123; //自定義屬性
自定義屬性賦值 obj.timer = setInterval(function(){},1000); //自定義屬性賦值
6大類
(1)要是基礎類型可以用typeOf()來判斷
字元串方法charAt(),獲取到字元串第幾個charCodeAt()獲取到UniCode編碼。然後在計算。再利用fromCharCode()換算成字元
(2)要是引用類型可以用instanceOf Array;instanceOf Object 來判斷
Number()方法能轉化字元串數字,空,空數組,要是前面有0比如00100轉化的結果就是100
parseInt()相當於把前面的數字部分轉化為數字,後面的字元直接捨棄.他轉化不了空,真要是轉化空結果就是NaN
parseFloat()同上
isNaN()判斷是不是NaN
在方法內部寫var的都是局部。在方法外面的都是全局變數。要是在方法裡面不加var,那他改變的就是全局的值.
這裡特別注意下:
返回的值就是function(){alert(1)}
返回的值就是1
arguments表示所有的參數合集
獲取到樣式
兼容IE678 獲取到樣式合集.獲取到元素的屬性值
數字形式:new Date(2014,4,1,9,48,12) //特別注意月份從0開始,所以他實際找的是5月
getTime();返回的就是格林威治時間1970年 1月1日0點0分0秒0毫秒到現在的毫秒數
Math.round( Math.random()*80 + 20 ); //返回20~100之間的隨機整數
基礎知識點所有效果點擊這裡
js常見知識點–第二篇
1、splice(start,deletecount,item) 會改變原數組的方法。
arr.splice(i,n) 刪除從i(索引值)開始之後的那個元素。返回值是刪除的元素
參數: i 索引值 n 個數
splice(start,deletecount,item)方法:
2、split()是使用指定的分隔符字元串將字元串分割成子字元串,返回一個子字元串數組。
3、slice()方法可以對數組或字元串截取。
arr.slice(start,end) 切去索引值start到索引值end的數組,不包含end索引的值,返回值是切出來的數組。
** 2. 提取某個字元串的一部分,並返回一個新的字元串,不會改變原字元串。**
# ES6 symbol類型詳解
1、 定義:
symbol類型是新的原始數據類型,表示獨一無二的值,其他的原始數據類型還有Number,String,Boolean,Null,Undefined;Object屬於複雜數據類型。
2、symbols 作為對象的屬性
3、利用Symbol的特性可定義內部私有屬性或方法
forEach:沒有返回值, 但不能使用break、continue和return語句
for…in:遍曆數組索引、對象的屬性。使用for…in遍歷時,原型鏈上的所有屬性都將被訪問。
map: 有返回值。並且可以返回一個結果數組。但是map 遍歷對象的話也會報錯,所以map只能循環數組或者對象數組。
for…of :創建一個循環來迭代可迭代的對象。在 ES6 中引入的 for…of 循環,以替代 for…in 和 forEach() ,並支持新的迭代協議。for…of 允許你遍歷 Arrays(數組), Strings(字元串), Maps(映射), Sets(集合)等可迭代的數據結構等。
循環返回的是value。
Maps(映射)
Map 對象就是保存 key-value(鍵值) 對。對象和原始值可以用作 key(鍵)或 value(值)。Map 對象根據其插入方式迭代元素。換句話說, for…of 循環將為每次迭代返回一個 key-value(鍵值) 數組。
Set(集合)
Set(集合) 對象允許你存儲任何類型的唯一值,這些值可以是原始值或對象。 Set(集合) 對象只是值的集合。 Set(集合) 元素的迭代基於其插入順序。 Set(集合) 中的值只能發生一次。如果您創建一個具有多個相同元素的 Set(集合) ,那麼它仍然被認為是單個元素。
三、JavaScript Map 和 Object 的區別( )
在 Object 中, key 必須是簡單數據類型(整數,字元串或者是 symbol),而在 Map 中則可以是 JavaScript 支持的所有數據類型,也就是說可以用一個 Object 來當做一個Map元素的 key。
Map 元素的順序遵循插入的順序,而 Object 的則沒有這一特性。
Map 繼承自 Object 對象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/236504.html