天天看點

js-5:常用的内置對象和使用方法

###############    JS内置對象-自定義對象     ################

/*
js中内置的對象和方法:
* */


//js中自定義對象
var person = {name:"andy",age:18};//在js對象中,屬性名預設不需要加引号,你加了js也會給你去掉的,值可以是單引号和雙引号,單引号會轉換成雙引号
console.log(person);

// 單個取屬性
console.log(person.name);
console.log(person.age);

//周遊取屬性
for (var i in person){
    console.log(i);
    console.log(person[i])
}

//自定義對象的第二種方式:
var person2 = new Object();
person2.name="xiaoxiao";
person2.age=22;
console.log(person2);      

###############    JS内置對象-Date對象     ################

//内置的Date對象,就相當于python中的子產品

var d1 = new Date();
console.log(d1); //這是預設生成目前時間,這是一個時間對象,
console.log(d1.toLocaleString()); //這是一個字元串
var d2 = new Date("2004/3/20 11:12");
console.log(d2.toLocaleString());

/*

var d = new Date();
//getDate()                 擷取日
//getDay ()                 擷取星期
//getMonth ()               擷取月(0-11)
//getFullYear ()            擷取完整年份
//getHours ()               擷取小時
//getMinutes ()             擷取分鐘
//getSeconds ()             擷取秒
//getMilliseconds ()        擷取毫秒
//getTime ()                傳回累計毫秒數(從1970/1/1午夜)

* */      

###############    JS内置對象-json對象      ################

//json對象
var s = '{"name":"andy","age":12}'; //這是一個字元串,怎麼使用js轉換成為json格式的,
var ret = JSON.parse(s);
console.log(ret);
console.log(typeof ret); //類型是一個對象

// 怎麼把js中的對象,轉換成字元串呢?
var s2 = JSON.stringify(ret);
console.log(s2);
console.log(typeof s2); //類型是一個字元串

// 這兩個一定要學會,後面使用ajax傳遞資料的時候,會使用到      

###############    JS内置對象-Math對象      ################

//math對象
var n = -5;
n2 = Math.abs(n); //絕對值
console.log(n2);
Math.floor(5.9); //直接往下去,這就是5,
Math.min(1,2);
Math.max(1,2);
Math.pow(10,2); //傳回x的y次幂
Math.random(); //傳回一個0-1之間的随機數
Math.round(5.5); //四舍五入      

###############    JS内置子產品-RegExp子產品,正則子產品      ################

//RegExp對象,正則,類似python中的re子產品
//生成RegExp對象,
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9_]{5,11}$");
//這是以字母開頭,5-11位的字母數字下滑線組成
var reg2 = reg1.test('xiaoming');
console.log(reg2); //true
var reg3 = reg1.test('2xiaoming');
console.log(reg3); //false

//簡單寫法
console.log(/^[a-zA-Z][a-zA-Z0-9_]{5,11}$/.test("xiaoming"));
console.log(/^[a-zA-Z][a-zA-Z0-9_]{5,11}$/.test("3xiaoming"));

//這裡面有很多的坑
// 1,re表達式内部不能加空格,否則會産生意想不到的錯誤,
// console.log(/^[a-zA-Z][a-zA-Z0-9_]{5, 11}$/.test("xiaoming"));

//2,test裡面不寫值,預設不是空,是校驗的一個undefined,這是大坑啊,
console.log(/^[a-zA-Z][a-zA-Z0-9_]{5,11}$/.test());//等同于console.log(/^[a-zA-Z][a-zA-Z0-9_]{5,11}$/.test("undefined"));

//3,字元串替換
//兩種模式,g,i,
var ss = 'Ahahaha';
var sss = ss.replace("a","哈");//這樣寫隻會替換第一個a,這個要記住,
var sss = ss.replace(/a/,"哈");//這樣寫隻會替換第一個a,這個要記住,這是正則的寫法
var sss = ss.replace(/a/g,"哈");//加一個g,就是說全局有多少就替換多少,
var sss = ss.replace(/a/gi,"哈");//加一個i,就是說忽略大小寫,都替換
console.log(sss);      

###