JavaScript day04 函数
函数
函数讲解
函数是什么? 函数其实就抽取写好的js代码 作为一个通用的代码块 (封装)
作用: 减少代码冗余 (过多) 方便调用 (提供效率 提高代码的可读性) 便于维护 (二次修改)
js有哪些函数
1.系统函数 2.内置函数 3.自定义函数
函数带括号就是函数 函数没有调用是不会执行的
系统函数 就是系统自带的函数 alert()
内置函数 Math.pow() 属于Math对象的函数
自定义函数 自己写的函数 需要先书写 再进行调用
函数主要依赖于function关键词进行定义 一般的函数名以fn开头
自定义函数的三种声明方式
1.第一种声明
function 函数名(参数1,参数2....){
函数体(需要进行的操作)
}
function shouMessage(){ //showMessge 就是函数名
console.log('hello function'); //函数体
}
showMessage() //调用 使用 函数名()
2.第二种声明
var 变量名 = function(){
函数体
}
var fn = function(){ //fn就是一个变量名 表示当前的fn是一个函数 fn就是表示这个函数
console.log('hello function!!!');
}
//调用 使用变量名()
fn()
3.第三种声明 //使用new方式 不常用 凡是使用new的都是对象
var fnObj = new Function("console.log('hello function object')");
//调用
fnObj()
函数名和变量接收函数的区别
在初始状态页面加载的时候 js会优先加载function以及对应的变量命名 但是不会加载变量赋值的过程
//使用function直接写一个函数
function fn1(){
console.log('我是函数1');
}
//使用变量接收一个函数
var fn2 = function(){
console.log('我是函数2');
}
return关键词
return关键词是用于函数里面返回数据的 没有数据的返回的话 默认返回undefined
函数的参数可以写 可以不写 具体要看对应的参数是否被使用到
在函数定义的时候里面的参数名可以随便写 因为他是一个形参
两数相加的方法
function add(number1,number2){
return number1+number2
}
var number3 = add
console.log(number3)
//在调用的时候进行参数传递 传递的参数必须要为实参(实际参的参数)
当方法执行到return时 return会结束整个方法
arguments数组
function fn(){
//arg 参数 arguments表示的是参数数组 他具备数组的特性 可以接受用户传递的参数
//length属性 获取对应的长度 具备下标 获取指定的元素 (从0开始到length-1结束)
console.log(arguments.length); //3
}
fn(1,2,3)
//arguments可以接受任意类型的值
fn('1',null,undefined)
变量作用域
变量分为全局变量 作用域为全局和局部变量对应的代码块内(function)
代码块不包括 if switch 以及 for (声明的变量还是全局变量)
在function里面声明的变量 作用域只存在于function 对应的全局声明的变量是可以存在于全局的
全局作用域可以在局部调用 局部作用不能应用在全局
全局作用域的东西他对应的可以在局部中更改 局部作用域不能在全局更改
作用域链
函数的嵌套 : 如果你调用了最外层的function 那么是不会自动调用内层的function
找不到对应的变量就会报错
逐步向上寻找变量的过程叫做作用域链
作用域就是一个变量的作用区域
JavaScript day04 函数的更多相关文章
- JavaScript中函数函数的定义与变量的声明<基础知识一>
1.JavaScript中函数的三种构造方式 a.function createFun(){ } b.var createFun=function (){ } c.var createFun=new ...
- 理解 JavaScript 回调函数并使用
JavaScript中,函数是一等(first-class)对象:也就是说,函数是 Object 类型并且可以像其他一等对象(String,Array,Number等)一样使用.它们可以"保 ...
- 5种 JavaScript 调用函数的方法
一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性 ...
- javascript escape()函数和unescape()函数
javascript escape()函数和unescape()函数 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法: escape(string) stri ...
- JavaScript调用函数的方法
摘要:这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正 ...
- Javascript常用方法函数收集(二)
Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...
- javascript工具函数
第一部分 JavaScript工具函数 转义特殊字符为html实体 HtmlEncode: function(str){ return str.replace(/&/g, '&') ...
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- javascript篇-----函数作用域,函数作用域链和声明提前
在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于 ...
随机推荐
- Solution -「CF 1025D」Recovering BST
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),问是否存在一棵二叉搜索树,使得其中序遍历为 \(\{a_n\}\),且相邻接的两点不互素. ...
- Solution -「51nod 1584」加权约数和
\(\mathcal{Description}\) Link. 令 \(\sigma(n)\) 为 \(n\) 的约数之和.求: \[\sum_{i=1}^n\sum_{j=1}^n\max\ ...
- 【Java分享客栈】我为什么极力推荐XXL-JOB作为中小厂的分布式任务调度平台
前言 大家好,我是福隆苑居士,今天给大家聊聊XXL-JOB的使用. XXL-JOB是本人呆过的三家公司都使用到的分布式任务调度平台,前两家都是服务于传统行业(某大型移动基地和某大型电网),现在 ...
- ISISv4协议测试——网络测试仪实操
文章关键词 ISIS协议:路由协议:协议测试: 一.文章简介: isis是一种与ospf很相似的网络协议(属于动态路由协议),它被应用在巨大规模网络,如运营商以及银行等.同样的它也是基于链路状态算法, ...
- 为什么用Python,高级的Python是一种高级编程语言
Python特性 如果有人问我Python最大的特点是什么,我会毫不犹豫地告诉他:它简单易学,功能强大.作为一个纯自由软件,Python有许多优点: 很简单.基于"优雅".&quo ...
- 《Java编程思想》学习笔记(详细)
目录 01 对象导论 02 一切都是对象 03 操作符 04 控制执行流程 05 初始化与清理 06 访问权限控制 07 复用类(继承) 08 多态 09 接口 10 内部类 11 持有对象 12 通 ...
- 按照TomCat版本重新配置web.xml文件
在TomCat的目录:C:\Program Files\Apache Software Foundation\Tomcat 9.0_Tomcat9.2\webapps\ROOT\WEB-INF下的we ...
- spark submit local遇到路径hdfs的问题
有时候第一次执行 spark submit --master local[*] 单机模式的时候,可以对linux本地路径进行输出.但是有时候提交到yarn的时候,是自动加上hdfs的路径这没问题, 但 ...
- k8s全方位监控-prometheus-alertmanager部署-配置第一条告警邮件
1.alertmanager告警插件部署 [root@VM_0_48_centos prometheus]# cat alertmanager-pvc.yaml apiVersion: v1 kind ...
- 超好用的Markdown编辑器Typora中的常见语法
目录 下载网址 安装 一.标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 二.语法环境 三.单选 四.字体 五.分割符 六.列表 七.图片引入 八.表格 九.超链接 下载网址 正版中 ...