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、按值传递
基本数据类型的数字在做参数传递时,实际上时传递的是参的副本到函数中,
原始数据并为发生过改变

JS笔记 运算符 函数的更多相关文章

  1. JS基础-运算符-函数

    1.运算符  1.赋值运算符和扩展运算符    1.赋值运算符 =    2.扩展运算符      +=,-=,*=,/=,%=,^=....      ex:        a=a+b;--> ...

  2. js笔记:匿名函数

    ;(function(){ alert('啥也没做');})(); 会弹框. 这是个匿名函数.最前面的分号可以去掉,仅仅是在代码压缩时防止出错. 该函数可以拆解成非匿名函数: var a= funct ...

  3. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  4. JS 笔记(二) - 函数

    1. 函数的 声明 1) 声明式写法 function j1(id){ alert(id); } 2) 声明匿名函数变量 var j2 = function (a, b) { alert(a + &q ...

  5. 笔记:js的replace函数

    replace函数 js的replace函数与c#的有一个不同,js的只替换第一个字符 例如,var a=',1,2' var b=a.replace(',','') 结果b='1,2'(ps:这是一 ...

  6. C++笔记(1)----此运算符函数的参数太多

    在VS2015中定义了这样一个类: #include<iostream> #include<vector> #include<string> using names ...

  7. 剑指offer笔记面试题1----赋值运算符函数

    题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString{ public: CMyString(char* pData = nullptr); CMyS ...

  8. js立即执行函数

    一.JS立即执行函数的写法 方式1.最前最后加括号 (function(){alert(1);}()); 方式2.function外面加括号   (function(){alert(1);})(); ...

  9. js原生之函数

    1.函数作为参数传给其他函数:    data.sort(function(a,b){return a-b})    //关于数组的sort函数,其回调函数返回负值,a在b之前    //正值,b在a ...

随机推荐

  1. 008.Nginx静态资源

    一 Nginx静态资源概述 1.1 静态资源类型 Nginx作为静态资源Web服务器部署配置, 传输非常高效, 常常用于静态资源处理,请求以及动静分离.通常非服务器动态运行生成的文件属于静态资源. 类 ...

  2. 集训 T2-监考老师

    大致题意: 找出一个位置可以选出最大的"横排总和+竖列总和". 基本思路 利用前缀和的思想在读入的时候把每一列每一行的总和都算出来, 然后暴力枚举每一个点,每一个点的答案就是这一行 ...

  3. reCAPTCHA无法加载?一个小工具就可以轻松解决!

    Chrome用户可以在应用商店搜索gooreplacer安装,或者点我下载,然后打开chrome://extensions/,将下载的crx文件拖入浏览器窗口,即可完成安装 Firefox用户可以在  ...

  4. IDM的“免费版”NDM免费的下载工具

    软件截图 软件介绍 免费小巧的多线程下载工具,支持断点续传,支持浏览器扩展,嗅探下载音视频文件. 和IDM差不多,只不过是免费的 下载软件 Win 我提供的UCloud-OSS 官网下载 Mac 我提 ...

  5. 详解TCP一:三次握手、四次挥手

    TCP协议同样是运输层的协议,掌握TCP重点要关注这几个问题:顺序问题.丢包问题.连接维护.流量控制.拥塞控制.先解析下TCP报文段结构,相比于UDP要复杂很多. 首先还是两个端口号,对应着具体的应用 ...

  6. OpenLDAP 2.4.44 安装部署避坑指南

    写在前面: 有关openLDAP的部署文档在网上随意能找到很多,但是最近用到才发现网上的教程多数是旧版的用法,例如"/etc/openldap/slapd.conf “早已弃用,更有甚者直接 ...

  7. w10查看wifi密码

    1.选择网络和Internet设置 右键单击网络连接图标,选择“打开网络和Internet设置”. 2.选择网络和共享中心

  8. 一个文本框的各项说明,包括类似html的table

    https://www.cnblogs.com/zhqiux/archive/2013/09/03/3298654.html

  9. python基础--14大内置模块(下)

    (9)正则表达式和re模块(重点模块) 在我们学习这个模块之前,我们先明确一个关系.模块和实际工作的关系. 1)模块和实际工作时间的关系 1.time模块和时间是什么关系?time模块和时间本身是没有 ...

  10. 第五章 泛型&集合

    5.1.泛型 概述:泛型是是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 泛型类: // ...