04 Javascript的数据类型 数组 函数

时间:2023-11-20 12:10:20

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

函数对象:。。。。。待续