函数

函数讲解

函数是什么? 函数其实就抽取写好的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 函数的更多相关文章

  1. JavaScript中函数函数的定义与变量的声明<基础知识一>

    1.JavaScript中函数的三种构造方式 a.function createFun(){ } b.var createFun=function (){ } c.var createFun=new ...

  2. 理解 JavaScript 回调函数并使用

    JavaScript中,函数是一等(first-class)对象:也就是说,函数是 Object 类型并且可以像其他一等对象(String,Array,Number等)一样使用.它们可以"保 ...

  3. 5种 JavaScript 调用函数的方法

    一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性 ...

  4. javascript escape()函数和unescape()函数

    javascript escape()函数和unescape()函数 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法: escape(string) stri ...

  5. JavaScript调用函数的方法

    摘要:这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正 ...

  6. Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...

  7. javascript工具函数

    第一部分 JavaScript工具函数 转义特殊字符为html实体   HtmlEncode: function(str){ return str.replace(/&/g, '&') ...

  8. [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")

    javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢?   原因在于: ...

  9. javascript篇-----函数作用域,函数作用域链和声明提前

    在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于 ...

随机推荐

  1. Solution -「CF 1025D」Recovering BST

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),问是否存在一棵二叉搜索树,使得其中序遍历为 \(\{a_n\}\),且相邻接的两点不互素.   ...

  2. head 插件 Content-Type header [application/x-www-form-urlencoded] is not supported

    { "error": "Content-Type header [application/x-www-form-urlencoded] is not supported& ...

  3. JwtAccessTokenConverter问题整理

    Cannot convert access token to JSON 授权服务颁发token(未进行公私钥加密)后,携带此token请求资源服务,提示此错误. 使用token可以在线解析,跟踪代码后 ...

  4. Wi-Fi DFS与TPC介绍

    DFS与TPC是wifi认证的其中一项测试内容,如果不需要DFS功能,可以不进行测试,但是某些属于DFS频段的wifi信道则不允许使用. 1. 什么是WIFI Auto DFS? 通俗的说就是:躲雷达 ...

  5. 八大排序算法之直接插入排序(InsertionSort)

    常见的排序算法 今天复习[直接插入排序] 核心思想:有序数组中 找位置 -- 给无序数组第一个 找位置 ` public class InsertionSort { // 核心思想:有序数组中 找位置 ...

  6. HBase学习记录-API

    delete.addColumns()和delete.addColumn()的区别 /** * delete.addColumns(); * delete.addColumn(); * 区别: * a ...

  7. 【C# task】TaskContinuationOptions 位枚举

    TaskContinuationOptions 根据 TaskContinuationOptions 的不同,出现了三个分支 LongRunning:独立线程,和线程池无关 包含 PreferFair ...

  8. Linux经典100题及参考答案

    转至:https://blog.csdn.net/yaoqiang2011/article/details/11908189 一.单选题 1. cron 后台常驻程序 (daemon) 用于: A. ...

  9. Tableau学习Step6一如何制作炫彩地图

    Tableau学习Step6一如何制作炫彩地图 本文首发于博客冰山一树Sankey,去博客浏览效果更好. 一.统计地图概述 1.1 统计地图的基本概念 统计地图的本质:数据的正确对应 将数据信息和地理 ...

  10. 一台电脑设置多个网段的IP地址