js基础②—运算符、流程控制语句、函数

简介: 如果变量 age 中的值小于 18,则向变量 voteable 赋值 "年龄太小",否则赋值 "年龄已达到"。

运算符


算术运算符


03bd9448bd1c8994933bb7189df971d1.png


赋值运算符


b89ece90192fc72adc21688256b7afa8.png


x=5+5;
y="5"+5;
z="Hello"+5;
x,y, 和 z 输出结果为:
10
55
Hello5


比较运算符


4b587125860ad7c5aa5db01294832474.png


逻辑运算符


1179d3525857795a27b15335433830f9.png


条件运算符


variablename=(condition)?value1:value2


如果变量 age 中的值小于 18,则向变量 voteable 赋值 "年龄太小",否则赋值 "年龄已达到"。
voteable=(age<18)?"年龄太小":"年龄已达到";


流程控制语句


条件语句


  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
  • if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码


  • if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
  • switch 语句 - 使用该语句来选择多个代码块之一来执行


5075a60efb3ace4fa427b0630b0f709b.png


循环语句


  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性


  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块


6aa93f4d93a7c0071180c9030d2cbad1.png


for-in练习


<html>
        <head>
                <title></title>
                <style type="text/css">     
                </style>
                <script type="text/javascript">
                        //遍历数组
                        var arr =[2,3,4,"abc",true];   //字面值
                        for(var item in arr){
                                //alert(item);   //输出的是索引
                                console.log(arr[item]);   //输出具体值
                        };var arr =[2,3,4,"abc",true];   //字面值
                        for(var item in arr){
                                //alert(item);   //输出的是索引
                                console.log(arr[item]);   //输出具体值
                        };
                        //遍历键值对(json)
                        var kv ={
                                "key1":"邓礼梅",
                                "key2":"王思琪"
                        };
                        for(var key in kv){
                                console.log(key);      //输出key1  key2
                                console.log(kv[key]);  //输出具体的key值
                        }
                </script>
        </head>
        <body>
        </body>
</html>


函数


基于原型继承的,本质上还是面向对象


C#:函数、方法一样


js:不一样


Function:


Function 函数名(参数列表){
  //函数体
  //如果有返回值直接return即可
}


Lambda:


Lambda函数(匿名函数){
Var func=function(参数){
  方法体
};


在C#中委托如何使用的?


声明委托类型
定义委托变量
授权方法(匿名)
  Func = delegate(参数) { 方法体 };
  Func= (参数) => { 方法体 };
使用委托变量调用方法


练习—求数组的最大数


<html>
        <head>
                <title></title>
                <style type="text/css">     
                </style>
                <script type="text/javascript">
                //js中使用驼峰命名法
                //参数表中不用指明变量类型
                <!-- //求两数的最大值
                        function getMax(num1,num2){
                                return num1 > num2 ? num1:num2;
                        }
                        alert (getMax(100,23)); -->
                        //求数组的最大数
                        var arr = [1,3,-4,-200];
                        var getMax =function(arr){
                                var max =arr[0];
                                for(var i =1;i<arr.length;i++){
                                         if(arr[i] > max ){
                                                max =arr[i];
                                        }
                                }
                                return max;
                        };
                        alert (getMax(arr));
                </script>
        </head>
        <body>        
        </body>
</html>


arguments参数


函数内部都有一个arguments参数,表示函数的参数


像数组的对象


js不支持重载,但利用arguments帮助实现了重载


<script type="text/javascript">
        var func = function(n1,n2){
                var arr = arguments;  //引用
                for(var i = 0 ; i<arr.length ; i++){
                        console.log(arr[i]);
                }
        };
        func(1,2,3,4,"测试",true);
</script>


F12打印出:


8761ee51e4c40166f296eb425fd34f47.png


function f(){
   alert(arguments[0]);   //打印123
   alert(arguments[1]);   //打印456
   alert(arguments[2]);   //打印undefined
}
f(123,456);


自动获取传进来参数对应的下标值


思维导图


dcee3cd1a5c8467181eadb0c33e97709.jpg


将新学习的1变为我们自己的东西,和学过的N进行联系,这样就不会越学越多啦。加油

相关文章
|
19天前
|
前端开发 JavaScript 开发者
揭秘JavaScript魔法三剑客:call、apply、bind,解锁函数新世界,你的前端之路因它们而精彩!
【8月更文挑战第23天】在 JavaScript 的世界里,`call`、`apply` 和 `bind` 这三个方法常常让新手感到困惑。它们都能改变函数执行时的上下文(即 `this` 的指向),但各有特点:`call` 接受一系列参数并直接调用函数;`apply` 则接收一个参数数组,在处理不确定数量的参数时特别有用;而 `bind` 不会立即执行函数,而是创建一个新版本的函数,其 `this` 上下文已被永久绑定。理解这三个方法能帮助开发者更好地运用函数式编程技巧,提升代码灵活性和可维护性。
24 0
|
8天前
|
JavaScript 前端开发
JavaScript基础知识-函数的返回值
关于JavaScript函数返回值的基础知识。
18 9
JavaScript基础知识-函数的返回值
|
8天前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
14 4
JavaScript基础知识-函数的参数
|
8天前
|
JavaScript 前端开发
JavaScript基础知识-立即执行函数
关于JavaScript基础知识中立即执行函数的介绍。
13 2
JavaScript基础知识-立即执行函数
|
1天前
|
JavaScript 前端开发
JavaScript 运算符
JavaScript 运算符
11 3
|
6天前
|
JavaScript 前端开发
JavaScript 函数
JavaScript 函数
19 9
|
8天前
|
JavaScript 前端开发
前端JS函数
【9月更文挑战第4天】前端JS函数
19 6
|
4天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
8 1
|
13天前
|
JavaScript 前端开发
JavaScript 中的 typeof 运算符
【8月更文挑战第29天】
13 1
|
21天前
|
JavaScript 前端开发 安全
深入理解JavaScript中的比较运算符
深入理解JavaScript中的比较运算符