美文网首页我爱编程
js中的匿名函数和非匿名函数

js中的匿名函数和非匿名函数

作者: 稻草人_b788 | 来源:发表于2018-04-05 12:27 被阅读68次

一、js中的匿名函数

匿名函数顾名思义就是没有名称的函数,例如:

var me = function(){alert(1)}
me()

其中function()就是一个没有函数名的函数
我们可以将这个匿名函数赋值给一个变量me,然后通过me()来调用这个匿名函数,输出结果就是1

值得注意的是,为变量命名时不要使用关键字,例如这里不要用 var name,否则就不能显示结果,而且无法轻易找出问题,因为js也不报错,我在变量和方法命名这块踩了不少坑。
在js中我们会经常用到匿名函数,例如:

<button id="btn" >弹出</button>
<script>
document.getElementById("btn").onclick = function(){
    alert(666)
}
</script>

这样就把匿名函数function()赋值给了id为btn的这个节点元素,通过为btn这个元素绑定onclick点击事件,我们点击btn对应的弹出按钮,就可以在网页上显示666了
document是什么?其实它是网页的节点,我们可以通过右键检视chrome浏览器的网页,选择console,然后输入:

console.log(document)

来查看console日志,可以看到ducoment的显示结果如下:


实际上document是整个网页上的元素内容,我们可以通过getElementById,getElementsByName(),getElementsByTagName()来查询指定的元素
其中:

  • getElementById是通过id查找元素,这个元素是唯一的
  • getElementsByName()是通过name来查找元素,它返回的是一个元素数组,而不是一个元素,这是因为 HTML 表单中的一些元素通常具有相同的name ,如图:
  • getElementsByTagName()方法可返回带有指定标签名的元素的集合,并且返回元素的顺序是它们在文档中的顺序。例如可以查找table标签元素,div标签元素,它返回的也是数组。如果把特殊字符串 "*" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。

二、js中的非匿名函数

非匿名函数就是有函数名的函数,例如:

<script>
function letter(a,b,c){
    alert(a)
    alert(b)
    alert(c)
}
letter(1,2,3)

</script>

通过向letter函数中依次传入参数1,2,3然后网页就会输出对应的结果1,2,3

如果我们想把上面的点击按钮弹出666的功能改用非匿名函数,可以这样写:

<button onclick = "btn()">弹出</button>
<script>
function btn(){
    alert(666)
}
</script>

建立btn()函数,并且为其对应的html元素绑定onclick事件即可

三、参考资料:

1.HTML DOM Document 对象--w3school

相关文章

  • js 深入

    * js语法* js的动态函数和匿名函数* js动态函数Functionnew Function();* 匿名函数...

  • js中的匿名函数和非匿名函数

    一、js中的匿名函数 匿名函数顾名思义就是没有名称的函数,例如: 其中function()就是一个没有函数名的函数...

  • 深入理解ES6--函数之name属性

    函数的name属性返回该函数的函数名。 非匿名函数 匿名函数 非匿名函数赋值给变量 bind返回的函数,name属...

  • 【第66天】python全栈从放弃入门到放弃

    1 函数 定义普通的函数 定义匿名函数 自执行函数 2 使用匿名函数遍历js数组中的元素 3 函数的返回值 4 调...

  • 2018-12-01

    js中括号操作属性 js函数 js换肤 变量和函数预解析 匿名函数 函数传参 函数return关键字 流程控制语句...

  • 胡扯JS系列-匿名函数的自动运行

    函数有很多种,我们就选择我们不懂的函数开始学习! JS中自动运行的匿名函数 在JavaScript中可以使用匿名函...

  • 【JS】匿名函数

    本节讲解 3 种原生JS的匿名函数。 匿名函数又叫立即执行函数。 因为是匿名的,所以不能被调用。 因为不能被调用,...

  • Day10-匿名函数&变量的作用域&函数递归&迭代器&生成器

    匿名函数 1.匿名函数 匿名函数就是没有函数名的函数; 匿名函数可以看成是类型是function的值和10, 'a...

  • Day10 函数

    一.匿名函数 1.匿名函数 匿名函数就是没有函数名的函数; 匿名函数可以看成是类型是function的值和10, ...

  • PHP闭包

    一. 闭包函数又叫做匿名函数(没有函数名称的函数). 英文closure 匿名函数常在js函数中出现,比如ajax...

网友评论

    本文标题:js中的匿名函数和非匿名函数

    本文链接:https://www.haomeiwen.com/subject/qjgrhftx.html