通过前三课讲解,大家应该能做到
1.手里有一份随时能够换工作自信的简历
2.知道了学习js的正确姿势
3.理解了全局对象、全局上下文、知道有预解析同时做了至少50道面试题
4.能熟练的使用json构建数据,知道变量的各种类型
----------------------------------------------------------------------------华丽丽的分割线-----------------------------------------------------------------------
以上可以不看,因为那些是我上课给学生讲的,下面我们继续正题。
这一课我们讲函数,函数我不想讲怎么定义调用,如下很简单
function show(){
alert(12);
}
//定义
show();//调用
我想说的是很多库里面函数的用法。
1.函数其实是一种特殊的对象。
这句话怎么分析,既然是对象那么就有属性和方法。好我们硬着头皮加一下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>大彬哥版权所有翻录必究</title>
<meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864">
<meta name="copyright" content="尼古拉斯·屌·大彬哥">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
</style>
<script>
function show(){
alert('我就是你大彬哥,爱好是开火车');
}
//属性
show.a = 12;
//方法
show.fn = function(){
alert('我擦嘞,还能这么玩?');
};
show.fn();
</script>
</head>
<body>
</body>
</html>
你运行就能看到结果了。
解释下:
其实函数就是一个特殊对象,相当于
2.函数声明和函数表达式
为什么说它?因为这个是你理解匿名函数自执行和模块化,还有很多库比如jquery结构的基础。
大家不要被名字给吓到了。只要记住两者的写法和区别。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>大彬哥版权所有翻录必究</title>
<meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864">
<meta name="copyright" content="尼古拉斯·屌·大彬哥">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
</style>
<script>
//函数声明
function show(){
console.log(12);
}
//函数表达式
var show = function(){
console.log(5);
};
show();
</script>
</head>
<body>
</body>
</html>
是不是简单的让人发指?
区别就一句话,函数声明,可以在函数调用之后,因为有函数预解析。而函数表达式必须在调用之前。因为如果在后面的画变量预解析会把show变成undefiined.如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>大彬哥版权所有翻录必究</title>
<meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864">
<meta name="copyright" content="尼古拉斯·屌·大彬哥">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
</style>
<script>
//函数声明
function show(){
console.log(12);
}
//函数表达式
show();//注意 这样写 变量show定义提前,变成var show;//undefined
var show = function(){
console.log(5);
};
</script>
</head>
<body>
</body>
</html>
3.匿名函数执行(IIFEs)初步理解
这货在js里面极其的重要,哈哈,因为有学生抱怨说我在课上总是说这个简单那个不用走心,那么这个我就要强调下,
这个东西不简单,很重要,而且要记住。因为这个东西太特么重要了。还是那句话别被定义吓到,看我干啥。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>大彬哥版权所有翻录必究</title>
<meta name="author" content="尼古拉斯·屌·大彬哥-QQ群:552079864">
<meta name="copyright" content="尼古拉斯·屌·大彬哥">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>
</style>
<script>
//第一步
var show = function () {
alert('那一年黄瓜还是用来吃的');
};
(show)();
//第二步 show = function(){xxxxx},那么结果是不是和(show)()一样
(function(){
alert('那一年黄瓜还是用来吃的');
})();
//函数没有名字自己调用执行了,就是匿名函数自执行。先明白怎么回事儿就行
</script>
</head>
<body>
</body>
</html>
到这里你只要知道,怎么回事儿就行,下节课我讲函数的this和匿名函数自执行的应用就好了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。