javascript学习笔记(3):函数与作用域
来源:互联网 发布:主成分分析 实际数据 编辑:程序博客网 时间:2024/06/07 20:26
函数
函数由函数名,参数,函数体和返回值构成,在没有返回值或返回值为void的情况下,javascript将默认返回值为undefined。
example:
>function f(){}
>f()
undefined
函数的三种形式:
非方法函数(普通函数):
>f()
直接调用
构造函数:
>new Date()
方法:
>obj.method();
将函数储存为对象的某个属性,然后通过对象调用函数的方法。
函数声明的方法:
普通方式:
function add(x,y){
return x+y;
}
具名函数:
var func=function (x,y){
return x+y;
}
具名函数通过func(x,y);来进行调用
函数构造器:
var add = new Function('x','y','return x+y');
call和apply方法的区别
相同点:
两个方法的作用完全一样:
fun.call(this,arg1,arg2,arg3)==fun.apply(this,arguments)==fun(arg1,arg2,arg3)
函数作用:可以通过设置第一个参数,可以动态地把一个函数加到其他任何对象上面。
call, apply方法区别是,从第二个参数起, call方法参数将依次传递给借用的方法作参数, 而apply直接将这些参数放到一个数组中再传递, 最后借用方法的参数列表是一样的。
注意:
在javascript中,不能传递参数的引用;因此,当我们将一个变量传递给函数时,变量的值会被复制一份并传递给函数,在函数中无法改变变量。
只有将变量包装到一个数组中,才能通过函数改变变量。
作用域
覆盖:
example:
var x="out";
function func(){
var x="in";
console.log(x); // in
}
console.log(x); // out
在非严格模式不通过var 将一个值赋给一个变量会产生全局变量:
example:
>function fun(){ x=123 }
>fun()
>x
123
IIFE:
(function(){ //open IIFE
// inside IIFE
}()); // close IIFE
作用:避免全局变量,隐藏全局作用域的变量,创建新的环境,避免共享,保持数据的相对独立。
闭包:函数可以维持其创建时所在的作用域
- JavaScript学习笔记(函数与作用域)
- javascript学习笔记(3):函数与作用域
- JavaScript 学习笔记 五 函数作用域
- JavaScript高级程序设计(第2版) 学习笔记:(二)js函数作用域与闭包
- JavaScript函数与作用域
- javascript作用域学习笔记
- JavaScript作用域学习笔记
- JavaScript作用域学习笔记
- JavaScript作用域学习笔记
- JavaScript作用域学习笔记
- JavaScript作用域学习笔记
- JavaScript笔记:函数作用域和块作用域
- JavaScript学习随笔--函数作用域
- javascript函数作用域与闭包
- JavaScript之函数与作用域
- Javascript学习笔记之作用域
- Javascript学习笔记——作用域
- JavaScript学习笔记之作用域链
- 常用 Git 命令清单
- 【Linux网络编程】原始套接字能干什么?
- SQLSERVER排查CPU占用高的情况
- 一般的数据库SQLite操作
- day20打印流,删除一个带内容的目录,用于记录应用程序运行次数,多个读取流变成一个读取流,切割文件
- javascript学习笔记(3):函数与作用域
- docker-toolbox常见问题整理
- hdu刷题目录
- LeetCode 3. Longest Substring Without Repeating Characters
- 在一个css文件中引入多个css文件:@import url('');
- lsof恢复删除的文件
- cocos-js http网络请求XMLHttpRequest
- 【年中总结】--得到的来之不易,却都理所当然
- CDH5.7快速离线安装教程