js 函数入门要学习的知识

一、 函数

函数可以封装一段特定功能的代码,然后通过函数名可以重复调用

1 .函数的定义

funcation 函数名 (){
函数体
}
函数名() 调用函数
2. 函数的参数

funcation fun (形参1,形参2…) {
函数声明
}
fun(实参1, 实参2…)
在函数内部修改形参的值,不会影响外部的实参的值

素数 (只能被1和自身整除的数)

  1. 函数返回值 return

当函数中不写return的时候 返回的值是undefined
写了return后面没跟具体值也是返回undefined

  1. arguments

通过arguments可以获取函数调用的时候的实参, (实参个数不确定的时候)

复制代码
function getMax() {
var max = arguments[0];
for (var i = 0; i<arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
}
var retult = getMax(23,53,22,35,222,33,553);
console.log(retult);
复制代码
求斐波那契数列中的第n个数是多少?

View Code

二、匿名函数

  1. 匿名函数声明

复制代码

  1. 函数声明 -命令函数
    function fn() {
    }

  2. 函数表达式 - 匿名函数
    var fn = function () {
    }
    复制代码

  3. 用法

复制代码

  1. 将匿名函数赋值给一个变量, 这样就可以通过变量进行调用

  2. 匿名函数自调用
    自调用函数: 当函数书写完成之后立即调用
    (function () {
    console.log(‘我是自调用函数’)
    })()

  3. 函数也是一种数据类型
    var fn = function() {
    console.log(‘我是传过来的函数’)
    }

function test(fun) {
fun();
}
test(fn);

// 3.1 因为函数是一种数据类型所以可以作为另一个函数的参数
3.2 因为函数是一种数据类型, 所以函数可作为另一个函数的返回值
function test(a) {
var b =5;
return function () {
console.log(a + b);
}
}
var fn = test(2);
fn();

复制代码

代码规范:

复制代码

  1. 命名规则
    变量、函数的命名必须有意义
    变量的名称一般用名词
    函数的名称一般用动词
  2. 变量规范
    操作符的前后要有空格
  3. 注释规范
    // 这里是注释
  4. 空格规范
    if 和for 小括号前后都要有空格, 分号后面也要有一个空格
  5. 换行规范
    花括号起始的要跟定义的在一行
    复制代码

三、 作用域

复制代码
变量或者函数可以起作用的访问

全局作用域: 在script 标签中 或者一个独立的js文件中,在任何位置都可以访问
局部作用域: 任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量叫局部变量,只能在该定义的函数中才能访问
块级作用域: 在ECAMScript中没有块级作用域
代码块{
代码块可以单独存在
}

局部变量: 当这个函数执行完之后 内存会被回收
全局变量: 只有当关闭浏览器的时候 才会被回收

作用域链:
// 全局作用域-- 0级作用域链
var num = 5;
function f1() {
// f1 局部作用域 – 1级作用域
var num = 15;
function f2() {
// f2 局部作用域 – 2级作用域链
console.log(num);
}
f2()
}
f1()
复制代码

四、预解析

  1. 变量提升,把变量声明提升到当前作用域的最上面,不包括变量的赋值
  2. 函数提升,把函数声明提升到当前作用域最上面,不包括函数调用
    在预解析的过程中如果函数的变量的名字相同,此时函数优先
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值