高程(3):操作符、for、for...in循环、break/continue/return语句、函数等
1、关系操作符
注意点:1)比较操作数是两个字符串,是比较字符串的字符编码值。
如:"a" > "b" 返回 false;"a" > "B" 返回 true;
2)[特别注意]如果是比较两个数字类型的字符串,也是按照字符编码值比较。
如:"256" > "6" 返回 false;
2、相等==和全等===
区别:相等比较有隐式类型转换,而全等则没有类型和数据都要相等才能返回true。
3、逗号操作符
注意点:下面代码中的写法注意区分,b2会变成全局变量
function show(){
var a1 = 1, a2 = 2;
var b1 = b2 = 3;
}
console.log(b2); //b2成为全局变量
4、for循环
注意点:如下代码,for循环内部定义的变量是父级作用域的变量,for、if循环没有内部块级作用域
for(var i = 0; i < 10; i++){
var a = 3;
}
5、for...in...循环:一般用于循环处理json、object,获取key、value做后续处理。
注意点:由于object对象的属性没有顺序,故for...in...循环输出的属性名顺序是不可预测的。
var json = {
"23": 23,
"12": 12,
"2": 2
};
for(var key in json){
console.log(key); //分别返回 2,12,23
}
6、break、continue、return语句区别
1)break:跳出上一级for循环
var num = 0;
function show(){
for(var i = 0; i < 10; i++){
if(i%5==0){
break;
}
num++;
}
num++;
}
show();
console.log(num); //返回1
2)continue:跳出当前次的后续操作,继续下一次for循环操作。
var num = 0;
function show(){
for(var i = 0; i < 10; i++){
if(i%5==0){
continue;
}
num++;
}
num++;
}
show();
console.log(num); //返回9
3)return:跳出当前函数
var num = 0;
function show(){
for(var i = 0; i < 10; i++){
if(i%5==0){
return;
}
num++;
}
num++;
}
show();
console.log(num); //返回0
7、switch语句:如果有又臭又长的if,可以用switch来处理,更加清晰、易于维护
注意点:switch的case操作可以使用表达式。
var num = 10;
switch(true){
case num < 0: alert('<0');
break;
case num > 0: alert('>0');
break;
case num == 0: alert('=0');
break;
}
8、函数
注意点:理解函数参数
函数内部的arguments类数组永远对应调用函数时所传的实参
function abc(a, b){
//此时 a = arguments[0] = 2; b = undefined;
b = 3; //b = 3;
arguments[1] = 4; // 不变
return b; //返回 3
}
cosole.log(abc(2)); //
function abc(a, b){
//此时 a = arguments[0] = 2; b = arguments[1] = 8;
b = 3; //b = arguments[1] = 3;
arguments[1] = 4; // b = arguments[1] = 4;
return b; //返回 4
}
cosole.log(abc(2, 8)); //
function abc(a, b){
console.log(arguments.length); //
arguments[1] = 2;
console.log(b); //undefined
console.log(arguments.length); //
}
abc(2);
PS:1)js中函数没有重载,定义同名函数,后面的函数会覆盖前面函数。
2)可以根据arguments参数的个数判断,来处理不同个参数情况下对程序的控制。
function fn(){
if(arguments.length == 1){
return arguments[0] + 10;
}else if(arguments.length == 2){
return argument[0] + arguments[1] + 20;
}
}
建议:有参数时使用json对象的形式作为参数传递,好处:1)简洁明了;2)可维护性高
function fn(options){
options.a = options.a || "10"; //默认赋值10
for(var key in options){ console.log(key, options[key])}
}
fn({
a: 1,
b: 2
})
高程(3):操作符、for、for...in循环、break/continue/return语句、函数等的更多相关文章
- Java——break,continue,return语句
break语句: break:用于改变程序控制流 用于do-while.while.for中时,可跳出循环而执行循环后面的语句. break的作用:终止当前循环语句的执行. break还可以用来终止s ...
- 退出循环break,continue,return,goto分析
/* 在循环中间设置单个或者多个退出点,可以使用的语句有:break语句.continue语句.goto语句. return */ (1)break :break语句语句用于循环或 switch 语句 ...
- js中的break ,continue, return (转)
面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...
- 详解C#break ,continue, return
C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...
- 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...
- js中的break,continue,return
js中的break,continue, return (转) 面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢 ...
- break,continue,return的区别
break,continue,return的区别 break 当break语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话). function main() { for(var i ...
- Java流程控制,for,switch,while.break,continue,return
Java流程控制,for,switch,while.break,continue,return
- 控制 if 语句 while循环 break continue
if 语句的语法: 1. if 条件 : #引号是将条件与结果分开 代码块 # 四个空格,或者一个tab键,这个是告诉程序满足这个条件的 说明: 当条件成立的时候(True), 代码块会被执行 ...
随机推荐
- [LeetCode] Reverse Vowels of a String 翻转字符串中的元音字母
Write a function that takes a string as input and reverse only the vowels of a string. Example 1:Giv ...
- NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析
我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...
- Css--深入学习之折角效果
本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 代码: /*建立一个带圆角的矩形,并使用线性渐变将其从左到底透 ...
- haproxy利用ACL规则封禁自定义IP地址拒绝访问
现在有一个需求就是在发版的时候希望除公司IP外的外网访问服务的时候都是拒绝访问的 现在利用haproxy 的acl规则作出限制 errorfile 403 /etc/haproxy/err ...
- C#图像处理笔记
1.灰度拉伸 灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围.
- 精通Web Analytics 2.0 (9) 第七章:失败更快:爆发测试与实验的能量
精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第七章:失败更快:爆发测试与实验的能量 欢迎来到实验和测试这个棒极了的世界! 如果Web拥有一个超越所有其他渠道的巨大优势,它就 ...
- gg
纪念那段为了梦想的青春岁月,CS. Esp (2006-2014) name "Esp"bind "TAB" "+showscores"bi ...
- Linux创建WiFi热点
手机流量用完,需要开WiFi,由于是LinuxMint,感觉配置还算容易,找到一个不错的教程,收藏一下,以备后用.除了修改配置文件那步在我的电脑不需要外其他基本正确,而且Mint本来就衍生自Ubunt ...
- js设置css样式.
在js设置css样式做法 var obj = document.getElementById('div'); obj.style.width = '100px'; obj.style.height = ...
- 推荐一款Linux下的开源编辑器
Sublime编辑器,下载地址.下载后解压,解压到家目录下,为解压后的文件夹里的可执行文件添加环境变量, vim ~/.bashrc 打开配置环境变量的文件,在最后一行添加export PATH=&q ...