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. java 面向对象(二十五):内部类:类的第五个成员

    内部类:类的第五个成员 1.定义: Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类.2.内部类的分类:成员内部类(静态.非静态 ) vs 局部内部类(方法内.代码块内.构 ...

  2. Elasticsearch备份数据

    Elasticsearch备份数据 1.建立备份目录 POST _snapshot/my_backup/ { "type": "fs", "setti ...

  3. 用Vue实现一个简单的图片轮播

    本文已收录至https://github.com/likekk/studyBlog欢迎大家star,共同学习,共同进步.如果文章有错误的地方,欢迎大家指出.后期将在将GitHub上规划前端学习的路线和 ...

  4. Go Pentester - HTTP Servers(2)

    Routing with the gorilla/mux Package A powerful HTTP router and URL matcher for building Go web serv ...

  5. Go的100天之旅-08字符串

    目录 简介 UTF-8字符 字符串的常用操作 简介 字符串在各种编程语言中都是很基础的一种类型,在Go中字符串简单理解就是一个数组,数组里面的元素是byte类型.因此基本上拥有类似数组的全部特性.例如 ...

  6. Python的telnetlib模块使用

    telnetlib模块的常用接口 telnetlib.Telnet(host, port, timeout) # 登录 write() # 输入命令 read_until(match) # 读出响应, ...

  7. Zookeeper ----- ZAB算法

    介绍 Zookeeper没有使用Paxos实现,而是使用ZAB(Zookeeper原子消息广播协议)作为数据一致性的核心算法. ZAB是一种专为Zookeeper设计的支持崩溃恢复的原子广播协议. Z ...

  8. React Navigation / React Native Navigation 多种类型的导航结合使用,构造合理回退栈

    React Navigation 更新到版本5已经是非常完善的一套导航管理组件, 提供了Stack , Tab , Drawer 导航方式 , 那么我们应该怎样设计和组合应用他们来构建一个完美的回退栈 ...

  9. assemble、compile、make、build和rebuild的关系

    assemble:打包(之前已经编译了源文件)compile.make.build和rebuild都是编译过程:将源代码转换为可执行代码的过程,Java的编译会将java编译为class文件,将非ja ...

  10. 重学c#系列——c# 托管和非托管资源与代码相关(四)

    前言 这是续第三节. 概况垃圾回收与我们写代码的关系: 强引用和弱引用 针对共享 Web 承载优化 垃圾回收和性能 应用程序域资源监视 正文 强引用和弱引用 垃圾回收器不能回收仍在引用的对象的内存-- ...