JS - 函数,Math,number
函数分为:关键字function
- 匿名函数 — 没有名字的函数
- 有名函数 — 有名字的函数
<body>
<div></div>
<script>
// 匿名函数 -
var oTar = document.getElementsByTagName("div");
oTar[0].onclick=function () {
alert(1)
};
// 有名函数 — Fn 第一个字母大写
function Fn() {
alert(1)
}
Fn()
document.onclick=Fn; // 不加括号函数不马上执行,点击后再执行。 加括号不点击就执行了
// 这里document 选中body
</script>
</body>
定义函数:
<script>
// ---------------------------
// 定义函数:
Fn(); // 定义的函数在前面后面都可以调用
function Fn() {
alert(1)
}
Fn(); // 定义的函数后面
</script>
定义函数的一些 骚写法:
<script>
~function () {
alert(1) // 匿名函数加上() + - ! ~ 变成函数表达式,在表达式后面加上()调用
}();
+function () {
alert(2)
}();
-function () {
alert(3)
}();
!function () {
alert(4)
}(); (function () {
alert(5)
})() ; // 常见一点 (function () {
alert(6)
}())
</script>
函数表达式:
<script>
// 函数表达式
Fn1(); // 函数表达式前面不能执行 未定义
var Fn1 = function () {
alert(1)
};
Fn1(); // 后面才执行
</script>
函数的参数:
<script>
// 1. 实参
function Fn(x) {
alert(x)
}
Fn(1);
// 2. 形参
var a=2;
Fn1(a);
function Fn1(x) {
//-- var x; // 函数内 var 一个x,没有给值。传值进来就有值了
alert(x) // x 是局部变量,命名规则和var相同,无中生有
}
// 3. 不定参 // 参数一一对应
sum(2,2);
function sum(x,y) {
alert(x+y)
}
// 实参 多于 形参, 是参合形参对应,多余的实参存于函数arguments内
sum1(1,2,3,4);
function sum1(x,y) {
alert(x+y);
alert(arguments.length); // 4
alert(arguments[3]) // 4 参数都存在arguments内
}
// 实参少于形参 , NaN 非法
sum2(2,2);
function sum2(x,y,z) {
alert(x+y+z); // x,y 有值 , NaN
alert(z) // z没有值 undefined,可以给z默认值
}
// 给默认值
sum3(1,2);
function sum3(x,y,z) {
// 给默认值
x = x || 0; // 1 传入值就等于本身,=(true). || 遇真就停
y = y || 0; // 2
z = z || 1; // 没有值传入 =(false). z = 1
alert(x+y+z) // 1+2+1
} </script>
函数的返回值 :
<script>
// 函数的返回值 默认undefined
function Fn() {
oTag[0].innerHTML="zzzz";
return "ha"; // 设置返回值
}
a =Fn(); // a 接受返回值
alert(a) // "ha"
</script>
函数的作用域:
javascript解析顺序
1.(定义)先解析var function 参数
a.该步骤的var只定义变量,后面的=赋值不解析
b.该步骤的函数只定义函数,函数的执行不解析
c.重名的只留一个,var 和函数重名 函数优先
2.(执行)再从上至下执行其他代码 作用域:
作用:读写
域:范围,区域
解析:
从上至下
1 找 var 定义函数 参数
2 执行
<script>
alert(a); // 这三行的执行顺序 1.先var a;不给值 undefined
var a=1; // 2. 从上到下执行 第一个alert(a) a没值 undefined
alert(a); // a=1, 在第三行的alert(a) 1
</script>
1.函数里var 变量a
</script>
var a=1; //1.找 var a; undefined
function Fn() { // Fn=函数体
alert(2); // 2.执行 a=1,alert(2)
var a=3 // 1)找var a;undefined,
} // 2) 执行 a=3
Fn();
alert(a); // alert(a) 弹出1
</script>
1 和 2 有无var的区别
2.函数里 修改全局a的值
</script>
var a=1; //1.找 var a; undefined
function Fn() { // Fn=函数体
alert(2); // 2.执行 a=1,alert(2)
a=3 // a=3,函数体没有变量a,它会修改
} // 外面的a=1 => 3
Fn();
alert(a); // 弹出 3
</script>
数字方法:Math
/*
Math 数学函数
Math.pow(16, 2)——十六的平方 256
Math.round(5.5)——四舍五入(整数)
Math.ceil(0.2)——向上取整
Math.floor(0.9)——向下取整
Math.max()——取参数中最大的值
Math.min()——取参数中最小的值
Math.random()——0-1的随机数 0--1
Math.random()*m+n // *m => 0*m--1*m ,+n => 0+n--m+n
生成 n ~ (m+n)
Math.PI——π
Math.abs()——求绝对值
*/
number:
/*
js的六大数据类型
number
string
boolean
function
undefined
object
number数字
在js里面的小数和整数统一都是数字,-2^53-2^53,超出范围之后精度就会不准确
number方法
Number()——参数中必须能被转换成数字,否则返回NaN:
parseInt(解析的参数)——将参数转换为数字,整数部分遇到不
是数字就停
parseFloat()——将参数转换为数字,不是数字就停,否则直到
小数部分遇到不是数字就停
Num.toFixed(n)——四舍五入保留n位小数
NaN(Not a Number)
NaN 不等于自己
*/
JS - 函数,Math,number的更多相关文章
- JS Date Math Number
Date对象 Date对象和String对象不太一样,定义了一字符串,其实就是一个String对象,就可以直接调用属性和方法. Date对象的使用,必须使用new关键字来创建,否则,无法调用Date对 ...
- 正则,js函数math()提取混乱字符串中多个字符串内容
var a='start111111endstart222222endasdfasdfasdfakjsfhaksdf'+ 'start333333endstart444444end6666666666 ...
- js字符转换成整型 parseInt()函数规程Number()函数
今天在做一个js加法的时候,忘记将字符转换成整型,导致将加号认为是连接符, 在运算前要先对字符井行类型转换,使用parseInt()函数 使用Number()将字符转换成int型效果更好
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- 100多个基础常用JS函数和语法集合大全
网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法: 1.输出语句:document.write(""); 2.JS中的注释为//3.传统 ...
- JS函数
1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...
- js函数大全
js函数集·字符串(String) 1.声明 var myString = new String("Every good boy does fine."); var myStrin ...
- 常用原生JS函数和语法集合
luoyishan-2017-10-08 1. 输出语句:document.write(""); 2. JS中的注释为// 3. 传统的HTML文档顺序是:document-> ...
随机推荐
- bisect
# 二分查找算法 import bisect farm = sorted(['haystack', 'needle', 'cow', 'pig']) # ['cow', 'haystack', 'ne ...
- BZOJ3757: 苹果树【树上莫队】
Description 神犇家门口种了一棵苹果树.苹果树作为一棵树,当然是呈树状结构,每根树枝连接两个苹果,每个苹果都可以沿着一条由树枝构成的路径连到树根,而且这样的路径只存在一条.由于这棵苹果树 ...
- 51Nod:1086背包问题 V2
1086 背包问题 V2 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里 ...
- 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 lock-on-active
转载至:https://blog.csdn.net/wo541075754/article/details/75208955 lock-on-active 当在规则上使用ruleflow-group属 ...
- net web service 参数类型
因为Web Services的执行是建立在XML架构之上的,所以它能够支持丰富的数据类型. 下表列出了使用SOAP协议时Web Services支持的数据类型: 类 型 含 义 基础类型 也即标准基 ...
- BAT 批处理脚本教程
第一章 批处理基础第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以 ...
- centos6 ext4修复
输入root密码后: fsck -y /dev/mapper/vg_logserv-lv_root 修复完后重启 reboot 若忘记了root密码,可用系统ISO盘引导进入Rescue救援模式 在这 ...
- java 物理资源回收 finally与try
java垃圾回收机制不会回收任何物理资源(磁盘文件.数据库连接.网络连接),垃圾回收机制只能回收堆内存中对象所占用的内存. 方法一使用finally块,在finally块中写入资源回收代码,如下: p ...
- MyBatis持久层框架使用总结 转载
MyBatis持久层框架使用总结 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google co ...
- webstorm打开后无法显示文件夹目录
最近接触webstorm,上午研究怎么删除项目,不小心把项目在目录中删除了,然后重新创建时,无法显示了. 状况类似这样的 百度上搜了一些没搜到,关键字是“webstorm 项目 目录 无法显示文件夹” ...