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语句、函数等的更多相关文章

  1. Java——break,continue,return语句

    break语句: break:用于改变程序控制流 用于do-while.while.for中时,可跳出循环而执行循环后面的语句. break的作用:终止当前循环语句的执行. break还可以用来终止s ...

  2. 退出循环break,continue,return,goto分析

    /* 在循环中间设置单个或者多个退出点,可以使用的语句有:break语句.continue语句.goto语句. return */ (1)break :break语句语句用于循环或 switch 语句 ...

  3. js中的break ,continue, return (转)

    面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢?我们在使用这三关键字的时候需要注意和需要理解的规则是什么呢? ...

  4. 详解C#break ,continue, return

    C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范. C# ...

  5. 有关于break,continue,return的区别和代码分析

    今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...

  6. js中的break,continue,return

    js中的break,continue, return (转) 面向对象编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用具体的操作是什么呢 ...

  7. break,continue,return的区别

    break,continue,return的区别 break 当break语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话). function main() { for(var i ...

  8. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  9. 控制 if 语句 while循环 break continue

    if 语句的语法: 1. if 条件 :   #引号是将条件与结果分开 代码块   # 四个空格,或者一个tab键,这个是告诉程序满足这个条件的 说明: 当条件成立的时候(True), 代码块会被执行 ...

随机推荐

  1. Docker初体验

    ## Docker初体验 安装 因为我用的是mac,所以安装很简单,下载dmg下来之后拖拽安装即可完成. 需要注意的就是由于之前的docker是基于linux开发,不支持mac,所以就出现了docke ...

  2. GO语言总结(3)——数组和切片

    上篇博文简单介绍了一下Go语言的基本类型——GO语言总结(2)——基本类型,本篇博文开始介绍Go语言的数组和切片. 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. ( ...

  3. [LeetCode] Binary Tree Level Order Traversal 二叉树层序遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  4. 在Windows7上如何找到Cookie(亲测100%可找到)

    摘要 出于兴趣爱好,前一阵子做了一个网页,网页中需要用到Cookie,但是,根据书上的说明,并没有找打教材中所说的Cookie的位置,本文就主要介绍在计算机(Win7)中Cookie的存放位置,同样适 ...

  5. js自定义验证码

    分享一个js自定义的验证码 window.onload = function () {     var code;     $('.changePassword').click(function () ...

  6. C#实现Levenshtein distance最小编辑距离算法

    Levenshtein distance,中文名为最小编辑距离,其目的是找出两个字符串之间需要改动多少个字符后变成一致.该算法使用了动态规划的算法策略,该问题具备最优子结构,最小编辑距离包含子最小编辑 ...

  7. CentOS升级openssl

    才设置了http2,结果蓝狗说我网站不安全,检测一下发现openssl有漏洞,于是准备升级一下openssl 检测网站: www.ssllabs.com/ssltest/analyze.html # ...

  8. iOS中富文本NSMutableAttributedString的用法

    NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"我是富文 ...

  9. myeclipse配置maven

    1.首先配置好java的运行环境(JDK要1.7及以上版本),网上有详细资料. 2.下载maven,具体下载链接http://maven.apache.org/download.html 3.下载ap ...

  10. 扩展欧几里得 exGCD

    Elementary Number Theory - Extended Euclid Algorithm Time Limit : 1 sec, Memory Limit : 65536 KB Jap ...