JS笔记 运算符 函数

1、运算符

1、位运算符

将数字转换为二进制后进行运算
只做整数运算,如果是小数的话,则去掉小数位再运算
2、位运算
1、按位 与:&
语法:a&b;
2、按位 或|
语法:a|b
任何场合:任何小数与0做按位或的操作,可以快速转换为整数(并四舍五入)
3、按位 异或:^
语法:a^b


3、赋值和扩展赋值运算符

1、赋值运算符:=
2、扩展赋值运算符
+=,-=,*=,/=
3、条件运算符(三目运算)
单目(一元)运算符:++,--,!
双目(二元)运算符:+,-,*,/,%,<,>,......
三目(三元)运算符:?:

1、语法
条件?表达式1、表达式2;
条件是一个Boolean类型的数据,如果条件结果为true,则执行表达式1的内容
并将表达式1的结果做为整体表达式的结果,如果条件为false,则执行表达式2、的内容,
并将表达式2的结果做为整体表达式的结果。
demo
<script>
var a=Number(prompt("请输入一个数字"));
var b=Number(prompt("请输入一个数字"));
a>b&&(a^b,b^a,a^=b);
console.log(a,b);
</script>



函数:

1、什么是函数

函数(function)是一段预定义好,并且可以被反复使用的代码块
预定义好:事先声明,但不是马上执行
反复使用:可以被多次调用
代码块:包含多条可执行的语句
2、函数的
声明与调用
1、普通函数
语法:function 函数名(){
语句块;
}

调用:在JS中任何合法位置处,都可以通过 函数名()的方式进行调用
demo:<script>
function sayhello(){
console.log("hello world");
console.log("你好");
}
function textsayhello(){
console.log("现在进入textsayhello函数");
sayhello();
console.log("textsayhello执行完");
 
}
 
sayhello();
 
</script>
 
<button onclick="sayhello();">单据</button>
<button onclick="textsayhello();">调用textsayhello</button>

2、带参函数

语法:function 函数(参数列表){
语句块;
}

参数列表:
可以由0或多个参数的名称来组成,多个参数的话中间用, 隔开
定义函数时的参数列表,都称为“形参(形式参数)”

2、调用的语法
任意合法JS位置处
函数名(参数列表);
调用函数时,所传递的参数列表,称之为"实参(实际参数)"
demo:
<script>
function change(a,b){
a > b && (a^=b,b^=a,a^=b);
console.log(a,b);
 
}
 
 
 
</script>
<button onclick="change(3,5)">调用change函数</button>

4、常用的带参函数
parseint(变量);
parsefloat(变量);
number(变量);
console.log("");

3、带返回值的函数

由函数体内 带到函数体外的数据,叫做返回值
语法:
function 函数名(参数列表){
语句块;
return 值;
}
允许通过一个变量来接收调用函数后的返回值
var 变量名=函数名(实参列表);

3、作用域

1、什么是作用域
指的是变量和函数 可以访问范围,作用域分为两大类
1、函数作用域
只在定义的函数内允许访问变量和函数
2、全局作用域
一经定义,在如何位置处都能访问
2、函数作用域的变量
在某个函数中说明的变量,就是函数作用域中的变量,也可以称之为”局部变量“
3、全局作用域的变量
一经说明,任何位置都能使用,又称为“全局变量”
声明方式
1、将变量声明在最外层,所有的function之外
2、声明变量时,不使用var关键字,一律是全局变量,但有风险
建议
全局变量,尽量都声明在所有的function之外
声明变量时,也一律都使用var关键字
4、什么是声明提前
JS程序在正式执行前,会将使用var声明 的变量以及function声明的函数,
预读到所在作用域的顶端。但赋值还保留在原位置上
建议
最好将变量的声明和函数的声明集中到所在作用域的最顶端

5、按值传递
基本数据类型的数字在做参数传递时,实际上时传递的是参的副本到函数中,
原始数据并为发生过改变



posted @ 2019-01-29 15:42  徐12  阅读(234)  评论(0编辑  收藏  举报