JS(五)簡要介紹陣列或物件 typeof、型別轉換
阿新 • • 發佈:2019-01-02
寫在最前面
初始引用值
- 陣列
- 物件
陣列
陣列物件用來在單獨的變數名中儲存一系列的值。形式是一箇中括號,裡面可以寫很多東西,中間用逗號隔開,每個逗號類似可以隔開兩個倉庫,每個倉庫可以放東西,比如Number,String ,undefined,放什麼型別的值都可以。
var arr = [1,2,undefined,"abc",["a",1,5],null]
//陣列的增加
document.write(arr.push("吳彥祖"));
//列印arr-->[1,2,undefined,"abc",["a",1,5],null,"吳彥祖"]
//陣列的刪除
arr.splice(0 ,1)//打印出來是[2,undefined,"abc",["a",1,5],null]
//陣列的修改
arr[0];//打印出來是0
arr[0] = 100;//在打印出來就是100;
//陣列的檢視
for(var i = 0;i<arr.length;i++)
console.log(arr[i]);
關於陣列的其他方法
For…In 宣告
使用 for…in 宣告來迴圈輸出陣列中的元素。合併兩個陣列 - concat()
如何使用 concat() 方法來合併兩個陣列。用陣列的元素組成字串 - join()
如何使用 join() 方法將陣列的所有元素組成一個字串。文字陣列 - sort()
如何使用 sort() 方法從字面上對陣列進行排序。數字陣列 - sort()
如何使用 sort() 方法從數值上對陣列進行排序。
物件
JavaScript 物件是擁有屬性和方法的資料。JavaScript 中的所有事物都是物件:字串、數字、陣列、日期,等等。在 JavaScript 中,物件是擁有屬性和方法的資料。
var obj = {
key : value,
建 : 值,
屬性: 屬性值;
}
var car = {
type:"Fiat",
model:500,
color:"white"
money:undefined,
newCar:false ,
}
//增加物件屬性
car.width = "1.6m";
//刪除物件屬性
delete.car.width;
//修改物件屬性
car.width = "1.5m";
程式設計形式的區別
- 面向過程
- 面向物件
區別太過複雜,不接受,自己百度找區別去
typeof
- 六鍾資料型別
- Number
- string
- boolean
- undefined
- object
- function
typeof("裡面放資料")
var num = 123;
var str = "123";
var a = true;
var b = null;
var c = undefined;
console.log(typeof(num));//列印-->number
console.log(typeof(str));//列印-->string
console.log(typeof(a));//列印-->boolean
console.log(typeof(b));//列印-->object
console.log(typeof(c));//列印-->undefined
//第二種方法
console.log(typeof c);//列印-->undefined 空格也可以
型別轉換
顯示型別轉換
- Number(mix)
- parseInt(string,radix)
- parseFloat(string)
- toString(radix)
- String(mix)
- Boolean()
//Number轉換成數
var num = Number("123");
= true;
= false;
= null;
= undefined;
= "a";
= "123abc";
console.log(num)//列印123
//列印1
//列印0
//列印0
//列印NaN
//列印NaN
//列印NaN
//parseInt轉換成整數
//parseInt(String,radix)
//radix 是調整進製取值範圍是2-36
//parseInt 是用數字為一直往後面看,看到截止,一直看到非數字位截止,把之前的數字返回
var num = parseInt("123.9");
= true;
= false;
= null;
= undefined;
= "a";
= "123abc";
console.log(num)//列印123不是四捨五入
//列印NaN
//列印NaN
//列印NaN
//列印NaN
//列印NaN
//列印123
//parseFloat//把數字轉換為浮點數
var num = parseFloat("123.9");
= true;
= false;
= null;
= undefined;
= "a";
= "123.2abc";
console.log(num)//列印123.9
//列印NaN
//列印NaN
//列印NaN
//列印NaN
//列印NaN
//列印123.2
//String把內容換成字串
var num = String(123.9);
= undefined;
console.log(num)//列印"123.9"
//列印"undefined"
//Boolean轉換成布林值
//除了undefined、null、NaN、""、0、false 打印出來的是false以外, 其他的全是true
var num = Boolean(123.9);
= undefined;
console.log(num)//列印true
//列印false
//toString(radix) 轉換成為字串
//兩個不能用一個undefined一個null會報錯undefined和unll沒有這個toString屬性
//radix 是以10進製為基底轉換為別的進位制
//用法:要轉的資料.toString
var demo = 123;
var str = demo.toString();
console.log(str)//打印出"123"
引式內容轉換
- isNaN()
- ++/– +/-(一元正負)
- +
- -,*,/,%
- &&,||,!
- <,>,<=,>=
- == !=
//isNaN()當你把數放在括號裡面的時候他能判斷這個是是不是NaN,然後給你返回回來
console.log(isNaN(NaN))//列印true
console.log(isNaN(123))//列印false
console.log(isNaN("123"))//列印false
console.log(isNaN("adc"))//列印true
console.log(isNaN(null)//列印false
console.log(isNaN(undefined)//列印true
//isNaN在內部 執行了一個Numbar方法
//比如isNaN("abc")
//首先執行了Numbar("abc")看是不是NaN 如果是就返回NaN
//所以這個numbar它沒有顯示的去呼叫,是隱式的去呼叫
//++,先呼叫numbar
var a = "123";
a++;//打印出a-->124;
var a = "abc";
a++;//打印出a-->NaN;
//+/- 先呼叫numbar
var a = + "abc";
console.log(typeof(a))//打印出numbar
//+ 隱式型別轉換呼叫的是string
var a = "1" + 1;
console.log(typeof(a))//打印出string
//-,*,/,%隱式型別轉換呼叫的是numbar
// <,>,<=,>=如果有數字就呼叫numbar
var a = "1" < 2;
console.log(typeof(a))//打印出boolean
// == ,!=
var a = "1" == 1;
console.log(typeof(a))//打印出boolean true
//特殊的
undefined>0//列印false
undefined<0//列印false
undefined==0//列印false
null>0//列印false
null<0//列印false
null==0//列印false
undefined == null//列印true
NaN == NaN//不等於任何東西
不發生型別轉換
- === !==(絕對的等於 絕對不等於)
1 !== "1" //true
1 !== 1 //false
NaN === NaN //false
還有一種特殊的
//a在沒有定義的情況下
typeof(a);//用console.log打印出undefined
//typeof返回的值型別 都是string型別
typeof(typeof(a))//用console.log打印出string