【JavaScript学习笔记】4:查漏补缺1
2018-02-07 14:57
375 查看
基础语法上有一些和之前学习的编程语言不一样的地方或者自己不熟悉的地方,特别学习一下。
!== 运算符就是对其取反,只要数据类型不相等,或者值不相等都可以:
所以还是不要去用==和!=而是用===和!==吧。
输出
输出
这样y一直存在很多余,在这里(不是函数内)如果用var声明还是全局变量:
所以还是要用let声明块级变量,才能用完即销毁:
即在文件头
输出
输出
===和!==运算符
===运算符前面学了,就是要求数据类型和值都相等:3=='3' true 3==='3' false
!== 运算符就是对其取反,只要数据类型不相等,或者值不相等都可以:
3!='3' false 3!=='3' true
所以还是不要去用==和!=而是用===和!==吧。
switch语句
只是为了试一下switch底层属于哪种判断,测试出来用的是===来做的判断:<!DOCTYPE HTML> <HTML> <BODY> </BODY> <HEAD> <meta charset="utf-8"> <script> var x=10; switch(x){ case "10": console.log("匹配No.1"); break; case 10: console.log("匹配No.2"); break; default: console.log("都不行"); } </script> </HEAD> </HTML>
输出
匹配No.2
增强for
看起来像python的增强for,带了Java的花括号:<!DOCTYPE HTML> <HTML> <BODY> </BODY> <HEAD> < 4000 meta charset="utf-8"> <script> var x={name:"LZH",年龄:20,挂科数:100}; for(y in x){ console.log("y="+y); console.log(x[y]); } console.log(window.y); //这样不声明就使用的y变量是一个全局变量,现在仍可用 </script> </HEAD> </HTML>
输出
y=name LZH y=年龄 20 y=挂科数 100 挂科数
这样y一直存在很多余,在这里(不是函数内)如果用var声明还是全局变量:
for(var y in x){...}
所以还是要用let声明块级变量,才能用完即销毁:
即在文件头
"use strict";并且
for(let y in x){...}才比较舒服。
带标签的break
break本来只能用在循环和switch里面,带了标签之后就可以用在标签注明的代码块里了:<!DOCTYPE HTML> <HTML> <BODY> </BODY> <HEAD> <meta charset="utf-8"> <script> ok=["abc","d","ef","gh"]; //标签注明的代码块 mylabel:{ console.log(ok[0]); console.log(ok[1]); break mylabel; //跳出这个代码块 console.log(ok[2]); console.log(ok[3]); } console.log("出来了"); </script> </HEAD> </HTML>
输出
abc d 出来了
带标签的continue
continue只能用于循环,不过带了标签能让它选择跳过的是哪一层的循环,而不是默认的最内层的循环:<!DOCTYPE HTML> <HTML> <BODY> </BODY> <HEAD> <meta charset="utf-8"> <script> "use strict"; mylab1: //外循环给个标签 for(let i=0;i<5;i++) { mylab2: //内循环给个标签 for(let j=0;j<3;j++) { if(i+j==5) continue mylab2; //continue内循环 else if(i+j==6) continue mylab1; //continue外循环 else if(i>=4) break mylab1; //break外循环 console.log("j="+j); } console.log("****i="+i+"****"); } console.log("全结束了"); </script> </HEAD> </HTML>
输出
j=0 j=1 j=2 ****i=0**** j=0 j=1 j=2 ****i=1**** j=0 j=1 j=2 ****i=2**** j=0 j=1 ****i=3**** 全结束了
相关文章推荐
- 极客学院学习:第六周javascript基础查漏补缺笔记
- 【Java学习笔记】22:查漏补缺2
- 【ML学习笔记】7:查漏补缺1(期望风险,经验风险,过学习,结构风险)
- 【HTML5学习笔记】7:查漏补缺1
- 黑马程序员-学习笔记-查漏补缺
- 【SQL Server学习笔记】14:查漏补缺1(三值谓词,范式,主键/唯一/外键/检查/默认约束)
- JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺
- JavaScript学习笔记之定时器
- JavaScript学习笔记8--一个文字自动匹配的例子
- JavaScript 学习笔记 0420
- JavaScript学习笔记1---焦点定位在页面表单第一个字段
- JavaScript的学习笔记(2)对象化编程
- 韩顺平 javascript教学视频_学习笔记27_dom对象(window对象3.history.location.navigator.screen.event)_js事件驱动编程
- (3)JavaScript学习笔记 - 函数、对象、数组
- JavaScript高级程序设计(第3版)学习笔记13——ECMAScript5新特性
- 【前端学习笔记】深入学习Javascript:EVENT总结
- JavaScript学习笔记整理_用于模式匹配的String方法
- javascript学习笔记总结
- JavaScript学习笔记4
- JavaScript学习笔记:(window对象)