运算符
算术运算符
赋值运算符
x=5+5; y="5"+5; z="Hello"+5; x,y, 和 z 输出结果为: 10 55 Hello5
比较运算符
逻辑运算符
条件运算符
variablename=(condition)?value1:value2
如果变量 age 中的值小于 18,则向变量 voteable 赋值 "年龄太小",否则赋值 "年龄已达到"。 voteable=(age<18)?"年龄太小":"年龄已达到";
流程控制语句
条件语句
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
循环语句
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
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打印出:
function f(){ alert(arguments[0]); //打印123 alert(arguments[1]); //打印456 alert(arguments[2]); //打印undefined } f(123,456);
自动获取传进来参数对应的下标值
思维导图
将新学习的1变为我们自己的东西,和学过的N进行联系,这样就不会越学越多啦。加油