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-> ...
随机推荐
- ACM 常见词汇
rectangular 美: [rek'tæŋɡjələr] 英: [rek'tæŋɡjʊlə(r)] adj. 矩形的:成直角的 grid 美: [ɡrɪd] 英: [ɡrɪd] n. ...
- CTF-练习平台-Misc之 隐写2
二.隐写2 下载文件后解压,发现是一个png图片,依照老套路查看属性,没有发现 用WinHex打开,在图片文件中,修改图片宽度,将箭头处的A改为F,保存后打开图片 发现flag(对于png的文件格式详 ...
- 关于bfs与dfs的标记区别
回顾一下dfs与bfs的使用,由于二者都需要避免走重复的路,所以二者都需要对数组进行标记 而二者的标记操作的不同点是 dfs会对数组的标记进行清除(包含两种标记,一种对形参变量的标记,这个清除是返回上 ...
- python 命名空间和作用域
这是python的难点和特点, 有很多的和c/cpp不一样的地方. 它的灵活易用性造成不习惯之处. refer to: http://blog.csdn.net/cc7756789w/article ...
- 模板引擎之jade 学习
jade 模板引擎在node express 开发中有较多的使用,首先我们看一个简单的使用jade 生成的html 页面的标签代码: doctype html html(lang="en&q ...
- windows下,java环境变量的设置,设置点击startup.bat启动tomcat
1.首先.安装好java jdk以后环境变量设置: CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME:C:\ ...
- MySQL只有.frm文件恢复表结构
http://www.ttlsa.com/mysql/mysql-utilities-mysqlfrm/ 以诊断模式读取目录中的所有的FRM文件: D:\Program Files (x86)\Eas ...
- 【Reporting Services 报表开发】— 如何根据明细的行数实现分页(比如每隔5行分页)
一.新建报表:对于初学者可以参考我前面的文章[Reporting Services 报表开发]— 总结 如图1: 图 1 二.选择 new_name文本框—>添加组—>选择行组中的父组.具 ...
- 【appium】根据class_name定位元素
目前没有尝试成功,等成功后补充 class_name=class可以通过UIAutomatorViewer获得.
- 如何为javascript代码编写注释以支持智能感知
在使用Visual Studio做开发的时候,智能感知是非常方便的.从VS2008开始,提供了对javascript的智能感知支持.例如 上述代码中,我们先用document对象的getElement ...