javascript:包含ECMAscript DOM BOM
描述了以下内容:
语法 类型 语句 关键字 保留字 运算符 对象
引入方式:
<script> alert(123) </script> //另一文件 <script src="test.js"></script>
基础规范:
每行结束加分号
//单行注释
/*
*/多行注释
变量应遵守以下某条著名规则:
camel标记法:
首字母小写 接下来的字母都是大写 such as
myTestValue
pascal标记法:
首字母大写 接下来的字母都大写开头
MyTestValue
匈牙利类型标记法
在以pascal标记法命名的变量前附加一个小写字母
说明该变量的类型例如 i表示整数 s表示字符串
iMyTestValue
基本数据类型:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--<script src="tsets.js"></script>--> </head> <body> <script> // alert(123) /* var x ; x=12 ; y=12 ; x=15 ; // alert(x) console.log(x); console.log(y); var name ="cunzhang", age=28 */ // myFirstName="刘" // MyFirstName="刘" // function f() { // console.log(123) // } // // if (2>1){ // // } // console.log(true+1); // console.log(false+1); // // if(1){ // alert(111) // }else { // alert(222) // } // // // var x; // console.log(x); // function f() { // document.write("<h1>hello Yuan!</h1>") // } // console.log(typeof f()) // Undefined:undefined //null:null 针对对象 // console.log("hello"+2); // console.log("hello"+true); // console.log(2+true); // console.log(parseInt(6.9234454)); //NAN: not a number,属于Number的一种 // console.log(parseInt("hello")); //NAN // console.log(parseInt("123")); //123 // console.log(parseInt("123abc"));//123 // console.log(parseInt("abc1234"));//NAN //typeof :区分基本数据类型 // console.log(typeof 123); // console.log(typeof "hello"); // console.log(typeof true); // console.log(typeof null); // console.log(typeof undefined); // // console.log(typeof [12,3,4]); //两个object // console.log(typeof {"name":"123"}); //++i --i i++ i-- var i=10; // i++; // console.log(i) // console.log(i++) // console.log(++i) // var n=NaN; // // console.log(n>5) ;// // console.log(n<5) ;// // console.log(n==5) ;// // console.log(n==NaN) ;//NAN只要参与比较,布尔值一定是false,除非!= // console.log(n!=NaN) ; //逻辑运算符 // console.log("hello" && 4) // if("hello" && 4){ // // } // console.log(2==2); // console.log("2"==2); // console.log(2==="2") // console.log(3>20); // console.log(3>"20"); // console.log("3">"28") </script> </body> </html>
控制语句与循环:
// if else // var name = 'alex' // if(name == 'lijie'){ // alert('俗气') // }else if(name == 'zhichao'){ // alert('洋气') // } // else { // alert('this is alex') // } switch: var week = '999' switch (week) { case 'Monday':alert('周一');break; case 'Tuesday':alert('周2');break; case 3:alert('周3');break; case 4:alert('周4');break; case 5:alert('周5');break; case 6:alert('周6');break; case 7:alert('周日');break; default:alert('nothing');break; } for循环: for (var i=0; i<10; i++){ //初始化条件 结束条件 执行 document.write('welcome'+i+'<br>') } var attr = [111,222,333] for (var i=0;i<attr.length;i++){ document.write(i); document.write(attr[i]); document.write("<br>") } for (i in attr){ document.write(i); document.write(attr[i]); document.write("<br>") }
遍历标签:
<script> var eles_P = document.getElementsByTagName('p') console.log(else_P) for (var i = 0; i<eles_P.length;i++){ console.log(i); console.log(eles_P[i]); } </script> <p>hello p1</p> <p>hello p2</p> <p>hello p3</p> <p>hello p4</p>
while循环:
var x=0; var i =1; while (i<=100){ x+=i; i++; } console.log(x)
异常:
try{
console.log(123);
throw Error(undefined)
}
catch(e){
console.log(e)
}
finally{
console.log('finally')
}
字符串:
//创建字符串对象两种方式 // var str1="hello"; // var str2=new String("hello2"); // // console.log(typeof str1); // console.log(typeof str2); //字符串的属性 // console.log(str1.length); // // 字符串的方法 // //编排方法 // console.log(str1.italics()); // <i>hello</i> // console.log(str1.bold()); // <i>hello</i> // console.log(str1.anchor()); // <i>hello</i> //查询字符串索引 // var str="welcome to the world of JS!"; // // var str2=str.indexOf("l"); // var str3=str.lastIndexOf("l"); // alert(str2); // //结果为2 // alert(str3); // //结果为18 // substr substring // console.log(str1.substr(1,3)); // console.log(str1.substring(1,3)); // console.log(str1.slice(1,4)); // console.log(str1.slice(-3,-1)) //编排方法 //截取方法 console.log(strl.substr(1,3)) console.log(strl.substring(1,3)) //str.slice() console.log(strl.slice(1,4)) //相当于切片 主要 str1.replace('aa','o') //addstr connect~~~
数组:
// //创建方式 // var arr1=[1,"hello",[11,2],{"name":"Yuan"}]; // var arr2=new Array(3); // var arr3=new Array(1,"world",true,[1,2,3]); // // console.log(typeof arr1); // console.log(typeof arr2); // console.log(typeof arr3); // // // 注意: var arr4=new Array(10) 10是size // console.log(arr1.length); //Array对象的方法 //join方法 // var arr5=[1,2,3,4,"1234"]; // var ret=arr5.join("**"); // console.log(ret); // console.log(typeof ret) //toString() // var ret2=arr1.toString(); // console.log(ret2); // console.log(typeof ret2); //concat() // var arr5=[1,2,3]; // var ret3=arr5.concat([5,66]); // // console.log(ret3); // console.log(typeof ret3); //reverse() var arr = [23,45,37] console.log(arr.reverse()) console.log(arr.sort()) //大小排序 比较最高位 function f(a,b){ if (a>b){ return 1; } else if (a<b){ return -1; } else{ return 0; } } // or缩减版 function f2(a,b){ return a-b; } console.log(arr.sort(f2)) //若按自然数大小 需自定义函数 //删除子数组 //删除and插入 splice and tostring?? //进出栈 栈操作 先进先出 后进后出~~ //push and pop 栈操作 var arr = [1,2,3]; arr.push([7,8,0]); console.log(arr); console.log(arr.length); console.log(arr.pop()); console.log(arr.length); //shift unshift 在前面插入和删除 var arr = [4,5,6]; arr.unshift([11,222]); console.log(arr) console.log(arr.length) arr.shift() console.log(arr) console.log(arr.length)
函数对象:。。。。。待续