admin 管理员组文章数量: 886992
java script 函数下
今日内容要点,函数作用域,事件,对象,递归函数,递归函数
函数作用域:在不同区域定义的变量,能起作用的区域不同
作用域的类别:全局变作用域、局部作用域
全局作用域:整个script标签都可以作为全局作用域
局部作用域:某个函数内部的区域
局部作用域内给变量赋值时候(当前作用域没有变量定义时)可以往外层去找变量定义,直到全局作用域,若是全局作用域没有定义,就在全局作用域定义并赋值
局部作用域内当把变量当做值去赋值、输出变量、使用变量计算时,(当前作用域没有变量定义时)同上,若是全局也没有变量的定义,报错XXX is not defined
注意,变量输出时,要先调用,再输出
事件:指用户在网页的行为
事件三要素,
事件源:用户行为与哪个标签交互
事件类型:用户在网页中的行为类型
事件处理程序:函数
在js中,使用标签的id名,可以直接当做变量使用
<button id="btn">按钮</button>
<script type="text/javascript">
btn.onclick = function(){
alert("点击了按钮!");
}
</script>
事件 | 备注 |
onclick | 鼠标单击 |
ondbclick | 鼠标双击 |
onmouseover | 当光标在指定内容上 |
onmouseout | 当光标离开指定内容 |
onkeydown | 当键盘按下的时候 |
onkeyup | 当键盘抬起来的时候 |
onfocus | 输入框获得焦点 |
onblur | 输入框失去焦点 |
onchange | 指定的标签内容有变化 |
onsubmit | 提交事件 |
onload | 整个网页加载完后 |
当给事件赋值函数名,不能加小括号
// 给事件赋值函数名称
btn.onclick = fn
function fn(){
console.log('点击了按钮')
}
给事件赋值变量名
btn.onclick function (){
console.log('点击了按钮')
}
事件可以写在行内
<!-- 直接在行内写js代码 -->
<button οnclick="console.log('点击了按钮')">按钮</button><!-- 可以在行内调用函数 -->
<button οnclick="fn()">按钮</button>
<script>
function fn(){
console.log('点击了按钮')
}
</script>
对象 object
三种表现形式:null、[ ]、{ }
定义方式
1. var=变量名{ 键值对(多个键值对之间用逗号隔开)}
键值对 键和值之间使用冒号隔开,键值对之间使用逗号隔开,键值对的数量没有限制
姓名:张三 // 姓名是键,张三是值
width:100px // width是键,100px是值
border=1 // border是键,1是值
对象里的键都是字符串,通常不加引号,但是当键中有连字号时,要加引号
var xaioli{
name:li
age:22
"di-zhi" :guangz
}
对象有一个特性,第一次打开的时候,只能看到Object,再次刷新页面, 会显示里面的数据:
对象的基本操作
语法
1 对象名 . 键= .后面不能加引号
2 对象名 [ 键]= 这种语法比较严格,一定要加 “ "
添加/修改键值对
添加一个键值对 对象.键=值(代码里没有的)
修改一个键值对,对象.键=值(代码里有的)
(对象中的键是唯一的)
删除键值对
delete 对象 . 键
delete 对象 [ 键]
对象的遍历:将对象里的每一个值都访问一次
语法: for(var 对象属性名 in 对象名 ){
代码段
}
对象属性名并无特指,任意即可
函数的递归:在函数中调用自己,完成一些重复的行为,(阶乘)
<script>
function fn(a){
if(a==1){
return a
}
return a*=fn(a-1)
}
var res= fn(4)
console.log(res)
</script>
向下执行时,return没有生效 ,向上递归返回值时,return才生效
但是如果缺少return,递归函数可以向下执行,但是不能往上递归返回,即最终返回值为undefined
构造函数
创建对象除了可以通过 { }创建外,还能在函数的调用前添加new来实现,而这个被专门用来创建对象的函数就叫做构造函数
构造函数的三大特点:
a:构造函数的函数名的第一个字母通常大写。
b:函数体内使用this关键字,代表所要生成的对象实例。
c:生成对象的时候,必须使用new命令来调用构造函数
js系统提供了一个专门创建对象的函数:Object
语法:
function 函数名(){ }
1.var 变量名=new Object({ 键值对})
2.var 变量名=new Object(" " , " ")
本文标签: java script 函数下
版权声明:本文标题:java script 函数下 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732361347h1535305.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论