############### 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);
###