1. 程式人生 > >JS(五)簡要介紹陣列或物件 typeof、型別轉換

JS(五)簡要介紹陣列或物件 typeof、型別轉換

寫在最前面

初始引用值

  • 陣列
  • 物件

陣列

陣列物件用來在單獨的變數名中儲存一系列的值。形式是一箇中括號,裡面可以寫很多東西,中間用逗號隔開,每個逗號類似可以隔開兩個倉庫,每個倉庫可以放東西,比如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