千锋Web前端培训学员分享JS中函数作用域知识点
转眼间学习千锋Web前端培训二阶段的课程已经一个月了,我感受到了JS明显比一阶段的HTML和CSS基础难多了。但JS比较有意思,可以实现好多功能。JS函数部分也算是JS重要知识点,好多地方都会用到函数,写一个函数很容易,但写好一个函数,要是理解不到位的话,也是很困难的,就像博客里一些大牛写的代码,完全看不懂!所以说,基础还得掌握牢固。接下来我简单举个例子,给大家分享一下函数中的作用域问题。
1、作用域的定义:变量或者函数起作用的范围(能够被访问到的区域)
2、作用域的分类:全局作用域&局部作用域
全局作用域特点:1)最外层函数和最外层函数外通过var来定义的变量;2)在函数内不通过var来定义的变量(function(){ a=10;})a是全局变量;3)window对象的属性和方法(alert())。
局部:在es5中函数是七分全局个局部唯一的代码块。特点:1)在函数内通过var定义的变量以及内部定义的函数;2)函数的参数具有局部作用域。
再者就是声明提升,JS代码运行有两步,预编译和编译,预编译阶段会把函数和声明的变量提升到代码顶部。数组和字符串的方法,有些是重复的,有些容易记混淆,一定要区分记忆。
ES5新增的数组和字符串方法:
1.indexOf: 数组.indexOf(元素) 查找到就返回元素下标,查找不到就返回-1
2.forEach: 数组.forEach(function(item,index,array){ item:当前遍历到的元素;index:当前遍历到的下标;array:当前数组}) arr.forEach(alert)
3.map:映射,遍历->操作->返回 数组.map(function(item,index,array){return item+2})
4.filter: 过滤,数组.filter(function(item,index,array){return item>一个值})找出大于这个值的元素。
5.some: 判断return后面条件是否成立,如果成立返回ture,否则返回false,如果匹配成功则返回true,后面就不再进行遍历。(只要有一个成立就返回true)arr.some(function(item,index,array){return item>一个值})
6.every: 跟some一样,但这个必须全部成立才返回true
7.reduce:对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。arr.reduce(function(pre,next,index,array){pre:上一次遍历return后面的值;next:当前遍历到的元素})
字符串的方法:
1.replace() 字符串.replace(匹配的字符串,替换的字符串)
2.slice() 字符串.slice(start.end)不包括end位
2.substring() 字符串.substring(start,end);不包括end位(位置可以互换)
3.substr() 字符串.substr(开始位,截取长度)
3.split 字符串.split(分隔符) 分割成数组
在一个就是事件部分的知识:
scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大。
clientWidth:对象内容的可视区的宽度,不包滚动条等边线,会随对象显示大小的变化而改变。 (width+padding)
offsetWidth:对象整体的实际宽度,包滚动条等边线,会随对象显示大小的变化而改变。该属性和其内部的内容是否超出元素大小无关,只和本来设定的border以及width和height有关 (width+padding+border)
//获取事件源
var _target = evt.target || evt.srcElement;
console.log(_target,this);
//阻止冒泡:
evt.stopPropagation();
evt.cancelBubble = true;
if(evt.stopPropagation){
evt.stopPropagation();
}else{
evt.cancelBubble = true;
}
//阻止默认行为:
return false;
e.preventDefault();
e.returnValue=false;
以上就是我对这一个月学习内容的一个小总结,在接下来的时间我会继续努力!
相关推荐HOT
更多>>报班学java得多少钱,哪里的培训效果好
在IT领域,java的使用非常广,无论是网站设计,还是软件开发,又或者是系统、游戏开发等,都离不开java。很多人看到java有着如此广的应用前景,...详情>>
2023-02-24 16:43:16学java开发要多少钱?培训费一般多少
想要学it的人,对java不会很陌生。事实上,计算机编程工作中,学java开发是会经常用到的。学java开发,能够在众多领域就业,比如网络安全,比如...详情>>
2023-02-21 14:16:00HTML5大前端有什么特点
HTML5大前端是一种来组织Web前端内容的语言,其目的是通过创建一种标准的和直观的UI标记语言来把Web前端设计和开发变得容易起来。今天,千锋太...详情>>
2019-08-08 11:05:00快速掌握HTML5大前端要注意这几点
当前,HTML5发展如火如荼,前端开发前景一片光明。不少人想通过HTML5培训在前端开发方面占得一席之地。千锋太原校区老师认为你无论决定学习什么...详情>>
2019-07-29 10:59:00热门推荐
计算机编程有哪几种语言?零基础适合学哪种?
沸女生做前端开发合适吗?毕业后好找工作吗?
热报班学java得多少钱,哪里的培训效果好
热想做it学什么比较好?选择it学习方向需注意些什么
新java程序员培训班要多少钱?贵不贵
学java开发要多少钱?培训费一般多少
前端开发培训班学出来有用吗?好就业吗
程序员需要什么条件?有就业目标就好
java有什么用?学好了就知道了
前端培训学费高吗?到哪里培训效果好
学前端要学多久?学完之后好就业吗
女孩子适合学it吗?适合哪些专业
在哪学it比较好?学it的费用大概是多少
太原it培训班大概需要多少钱?要培训多久