### 11.8 js #### 11.8.1 js的引入方式 ```html <script type="text/javascript" src="js/index.js"></script> 放在哪个位置都生效 ``` #### 11.8.2 字符类型 递增和递减运算符: ```html <script> var a = 4; var c = a++; console.log(a); 5 console.log(c); 4 //这是因为c=a++是先将a的值赋给c再进行++ var a = 4; var c = ++a; console.log(a); 5 console.log(c); 5 //这是因为c=++a是先进行++再讲a的值赋给c </srcipt> ``` 字符串的拼接: ```html <script> var name='liujia',age=18; var srt = `${name}今年是${age}岁了` console.log(str) </script> ``` 数组,就是python中的列表 ```html <script> var arr =[1,'2','liujia']; //var声明标量,会把var声明的变量提升到全局作用域 for(i=0;i<arr.length;i++); console.log(arr[i]); function fn(){ var a = 4; } </script> ``` 数组的常用方法 ```html <script> var num = 123; var arr = ['red','green'.'yellow']; console.log(Array.isArray(arr)); console.log(arr.toString());//red,green,yellow console.log(num.toString());//将数字转化成字符串 console.log(typeof num.toString()) //检查类型 console.log(arr.join('#')) //将arr中的元素以#链接起来 console.log(arr.push('bule'));//返回了数组最新的长度 console.log(arr.pop());//返回删除的内容 console.log(arr.unshit('gray','black'));//添加内容 console.log(arr.shit('liuji/a'));//添加内容 var.splice();//对数组进行添加,删除,替换 var.slice(1) //对数组进行分割 </script> ``` if 和switch ```html <script> var score = 100; if(score > 80){ console.log('可以吃鸡') }else if(score <60){ sonsole.log('在家呆着学习') } var weather = prompt('请输入今天的天气'); switch(weather){ case'晴天': console.log('可以出去打篮球'); break; case'下雨': console.log('可以去上网'); break; default: console.log('学习'); break; } </script> ``` 比较 ```html <script> var a = 2; var b = '2'; console.log(a==b); true//比较的是值 console.log(a===b);false//比较的是值和数据类型 </script> ``` 循环 ```html <script> var arr = [8,9,,0]; for(var i = 0;i<arr.length;i++) console.log(arr[i]); var a = 1; while(a<=100){ console.log(a); a+=1 } </script> ``` 函数 ```html <script> function fn(){ switch(arguments.length); case 2: console.log('两个参数'); break; default: break; } fn(2,3,4) </script> ``` 对象: ```html <script> //1.字面量创建方式 car obj = {}; obj.name = 'liujia'; obj.fav = function(){ sonsole.log(this); } obj.fav(); console.log(obj.name); //2.构造函数 var obj2 = new Object(); console.log(obj2); obj.name = 'liudanni'; function add(x,y){ console.log(this.name); console.log(x); console.log(y); } console.dir(add); add(); add call(obj,1,2) // 3.像python中的类 class Person{ constructor(name,age){ this.name = name; this.age = age; } fav(){ console.log(this.name) } } var p =new Person('liujia',18); p.fav(); </script> ``` 日期对象: ```html <script> var date = new Date(); console.log(date); console.log(date.getDate()); console.log(date.getMonth()+1); console.log(date.getFullYear()); consloe.log(date.getDay()); console.log(date.getHours); console.log(date.getMinutes()); console.log(date.getSeconds()); console.log(date.toLocaleString()); </script> ``` 数字时钟案例 ```html <body> <h2 id = "time"></h2> </body> <script> var timeObj = document.getElementById('time'); sonsole.log(time); function getNowTime(){ var time = new Date(); var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var temp = "" + ((hour>12)?hour-12:hour); if (hour == 0){ temp = "12"; } temp += ((minute<10)?":0":":") + minute; temp += ((second<10)?':0':":") + second; temp += ((hour >= 12)?"PM":"AM"); timeObj.innerText = temp; } setInterval(getNowTime,20) </script> ``` Math对象 ```html <script> //求最大最小值 var values = [1,22,33,44,55,66,8]; var max = Math.max.apply(null,valuse); console.log(max); var a = 1.49999999999999 console.log(Math.ceil(a)); //天花板函数 console.log(Math.floor(a)); //地板函数 console.log(Math.round(a)); //四舍五入 console.log(Math.random()); 随机数 </script> ```