JavaScript中函数对象与函数有什么区别?

如图一代码
如果//注册提示信息我写成
①document.getElementById("password").onblur = checkPassword;则页面如图二显示,必须要点击一下密码输入框再点击其他地方,密码格式的提示才会显示。
而如果//注册提示信息我写
②document.getElementById("password").onblur = checkPassword();
则页面如图三显示,一刷新页面密码格式的提示就显示出来了,还没点击就已经触发了onblur事件。
求教:①和②这两行代码有什么区别?加()与不加()区别是什么?这两行代码分别是怎么运行的?

在js中对象就是神一般的存在,什么都是对象,你就这么理解好了。

函数是用来实现具体功能的代码,用一种方式把他们组织起来,就是函数了。

对象是有属性和方法的一个东西,在对象中的函数就变成了方法。

刚学习js不用太纠结这些概念性的东西吧。慢慢用多了就自然而然熟悉了。

我相信现在写的再详细你也未必能全搞明白。有些东西你现在不明白只是因为你还没到明白它的时候,时间会证明一切的。加油。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-02
1:onblur 的值是一个监听函数,函数 函数 重要的事说三遍,当文本框失去焦点时会触发这个函数的调用
2.对于②行 :由于js代码是从上而下的执行 到达这一行 你来一个checkPassword() 这是一个函数的调用 也就是 页面一刷新 就会立即执行这个函数 因为加了"()" 所以就会出现立即验证的效果,函数执行完成 会有一个返回值(return 的值 ,如果函数体内不显式的返回 默认就返回 undefined) 这个时候 你② 的代码 就相当于
var checkRusult = checkPassword();
根据题主截图 返回的是一个布尔值
document.getElementById("password").onblur =checkRusult //true or false
导致的效果就是 页面刷新立马进行验证,然后你之后再失去焦点什么的 不会有任何效果本回答被提问者采纳
第2个回答  2019-09-03
题目与问题内容,有一些差异。
document.getElementById("password").onblur = checkPassword;
上面的这句话的意思是,给password这个元素的onblur事件,添加一个函数,鼠标在离开元素时就会调用执行checkPassword函数。一般来说,验证密码规则函数的调用,都是用这种方法,就是说用户在输入完密码之后,才会去校验密码格式是否有问题。而你后面的写法:
document.getElementById("password").onblur = checkPassword()
这句话是说,给元素的onblur事件添加一个函数,如果你的checkPasswrod返回的是一个函数对象,则会添加成功,否则只会先运行一遍checkPassword函数,给你的password元素的值进行一遍校验,因为此时password值为空,所以校验结果是不符合,就会在passwrod后面出现提示,但是鼠标移入password再移出,并不会触发校验函数,并不符合实际的校验场景。
综上,在代码中出现函数体时,一般用法就是给某个事件绑定某个函数,比如你的第一种写法,只有在真正触发的这个事件时,函数才会运行;在代码中出现函数体后面加(),就是要运行该函数,至于函数运行之后会发生什么,情况就太复杂了。
第3个回答  2019-09-03
引擎会优先加载函数 变量方式声明的 会按顺序加载 。其他没区别。
第4个回答  2019-09-03
②document.getElementById("password").onblur = checkPassword();
当你的代码解析到这一行的时候不会直接执行checkPassword()函数.
①document.getElementById("password").onblur = checkPassword;
是给password绑定了失去焦点事件,在密码框失去焦点才会触发并执行checkPassword()函数.

javascript中的函数?
javascript中函数和方法的区别1、函数(方法Function)是对js操作过程的封装,以后操作同样的过程,只要调用相应的函数(方法)即可。对象同样是对js代码封装,不过对象可以封装函数(方法)。比如把某一类的函数(方法)都封装到某个对象中。2、楼说的没错。没必要区分很清楚。给一个小模型给你看看。3、...

javascript函数、事件、对象、方法的通俗解释和他们的作用。
对象你可以简单的理解为一个大仓库,里面有各种资源(各种方法——也就是函数,各种定义了这个仓库的属性——比如这个仓库是干什么用的啊)。好了,现在你有一个满载资源的仓库了,当你想做某些事件的时候,你想到了这个仓库里有你想要的资源,那么你就可以调用这个仓库里的资源了,也就是调用这个对象...

JavaScript中,类、对象、事件、方法、函数的联系与区别
类,是一个抽象,比如车子.动物.JS比较特别,定义类跟定义函数一样用function.方法,是对象的一个操作,在JS里就是一个函数.比如,车子是一个类,evo是一辆三菱车,就是一个对象了,点火,就是evo的一个方法.事件跟类无关,比如onclick就是一个点击事件.函数,就是实现一些操作的过程.比如,算周长.就可以用...

如何理解 JavaScript 中方法和函数的区别
函数(方法Function)是对js操作过程的封装,以后操作同样的过程,只要调用相应的函数(方法)即可。对象同样是对js代码封装,不过对象可以封装函数(方法)。比如把某一类的函数(方法)都封装到某个对象中。。这样可以系统的管理调用函数(方法)。比如我写了很多的函数,只要知道我想要调用的函数是哪一类...

javascript中什么是 对象 什么是 对象 什么是构造函数 什么是方法呀...
C语言是面向过程的,javascript是基于对象的,两者有根本的差别,虽然语法很像 先讲下面向对象跟面向过程(javascript不是面向对象,是基于对象,但跟面向对象概念差不多的)面向过程就是函数调用函数这样子完成一个功能。你最熟悉的C语言,只要一写程序,就有一个main函数,其它函数都是辅助的,只有在main...

如何理解javascript中方法(method)和函数(function)的区
方法与函数之间的主要区别在于调用时的上下文。当调用函数时,开发人员需要明确指定参数。然而,方法的调用隐含了与之关联的对象。这意味着方法可以直接访问和操作该对象内部的数据和方法,而无需额外参数。在JavaScript中,这种机制允许更自然地模拟现实世界中的对象行为。例如,可以为一个特定的类(对象)...

JavaScript中函数的使用
函数函数实际上就是对象,而且每一个函数都是function类型的实例,函数通常以函数声明的方式来定义的。函数定义的最后是不需要添加分号的。functionzss(a1,a2){returna1*a2} 如果我们使用定义函数的语法是函数表达式,函数表达式与函数声明几乎是一样的,这里的函数末尾是有分号的。:letzss=function(a3,a4...

js中对象是什么意思
在JavaScript语言中,对象是指由属性和方法组成的一种复合值。对象可以看做是属性和方法的集合,其中属性是对象的特征(也可以称之为数据),而方法则是对象的行为(也可以称之为函数)。具体来说,属性是以"名\/值"对的形式定义的,而方法则是以函数的形式定义的。在JavaScript编程中,对象是非常重要的...

js创建函数的几种方式?js函数表达式有几种高级写法详解
`(function(){...})();` 或 `(function(){...}())`。变量提升和函数提升是ES6以前JavaScript的重要特性,理解它们有助于避免常见的编程错误。变量在函数声明之前被提升,但函数声明优先于变量。最后,函数表达式与函数声明的区别在于函数声明会被提升,而在运行时不会覆盖已存在的同名函数表达式。

javascript 中的对象是不是只有函数和变量??
不只是javascript ,应该说所以语言中的对象都只有 函数和变量,只是不同的语言叫法不一样而已!

相似回答