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. 爬虫03 /代理、cookie处理、模拟登录、提升爬虫效率

    爬虫03 /代理.cookie处理.模拟登录.提升爬虫效率 目录 爬虫03 /代理.cookie处理.模拟登录.提升爬虫效率 1. 代理 2. cookie处理 3. 模拟登录 4. 如何提升爬取数据 ...

  2. bzoj1339[Baltic2008]Mafia*

    bzoj1339[Baltic2008]Mafia 题意: 匪徒准备从一个车站转移毒品到另一个车站,警方准备进行布控.对于每个车站进行布控都需要一定的代价,现在警方希望使用最小的代价控制一些车站,使得 ...

  3. T1 找试场 题解

    拖延症又犯了QwQ. 今天上午考试了,按照惯例,我仍然要把我会的所有题的题解写一遍. 1.找试场(way.cpp/in/out) 问题描述 小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是 ...

  4. ATX 学习 (四)-atxserver2

    ATXSERVER2 一.main()文件启动 1.首先通过parse_args返回一个Namespace作一些配置,登录页html在SimpleLoginHandler这个里边写着,2.接着通过db ...

  5. 一位Google高管审查了20,000+简历,他发现了这5个致命的错误

    工作与生活的平衡 下班划水摸鱼时间,我比较喜欢浏览一下各类新闻网页,比如说ins,这不,我就在ins上看到了这样的一篇文章,内容很简单,就是简历,但是就是这样一份简历,却让这位Google高管震惊不已 ...

  6. node.js02 安装Node环境

    安装Node环境 在node.js01中我大概了解了什么是node.js,这次进入起步阶段,首先要安装下Node环境. 开始安装 查看当前Node环境的版本号 win+r输入cmd进入命令行,输入no ...

  7. p71_文件传送协议FTP

    一.FTP服务器和用户端 FTP是基于客户/服务器(C/S) 的协议. 用户通过一一个客户机程序连接至在远程计算机上运行的服务器程序. 依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器. ...

  8. python-元类和使用元类实现简单的ORM

    元类 面向对象中,对象是类的实例,即对象是通过类创建出来的,在python中,一切皆对象,同样,类也是一个对象,叫做类对象,只是这个类对象拥有创建其子对象(实例对象)的能力.既然类是对象,那么类是通过 ...

  9. 【题解】cf1381c Mastermind

    序 (一道很考验思维质量的构造好题,而且需要注意的细节也很多.) 本题解主体使用的是简洁且小常数的\(O(nlogn)\)时间复杂度代码,并且包含其他方法的分析留给读者自行实现(其实是自己不会写或者写 ...

  10. 数字麦克风PDM信号采集与STM32 I2S接口应用(四)--单片机源码

    本文是数字麦克风笔记文章的单片机程序.一些朋友私信我,调试出问题. 我就把源码贴出来吧,可能主要问题是DMA的配置. 尤其双DMA时候,需要手动启动I2S的接收DMA,HAL库没有这个接口,不看dat ...