javascript - 关于js的小问题,js函数共分几类呢?
巴扎黑
巴扎黑 2017-04-11 09:06:47
[JavaScript讨论组]

我学习js一段时间之后,发现js的预置函数有以下几种。
想请问各位老师,这几类函数业内对它们有归类么?或者有惯用说法么?

1,如下中.length 这样的连括号都没有的函数,有固定说法表示么?

"好好学习".length

2、如以下这种函数,有括号但又不像.length函数前面有对象的。

String(null)
alert('ok')

3、这种函数前即有对象,也有括号的属于哪类函数?

"好好学习".charAt(1)

———————————————————————————————————————
学生学js时间不长,理解浅薄,请各位老师指点
谢谢老司机,老司机永远一路顺风。
3Q
———————————————————————————————————————

巴扎黑
巴扎黑

全部回复(5)
怪我咯
  1. length 应该是属性,而非函数吧,你这样其实就是访问字符串的内置属性length

  2. 在浏览器下,直接访问的函数,当属于window的内置方法了,这么理解,这里说内置不一定对,如果是你自定义的暴露在全局下的,也属于window的方法

  3. "好好学习"双引号括起来,其实表示它就是一个字符串实例了,则可以调用String.prototype.charAt

一般来说,函数都是有括号调用的,这是语法吧。

按你这么举例的话,其实函数就分两类了,一类单身狗(没对象)/手动滑稽/,一类为对象方法;

感觉其实也没啥好区分的,无非就是有对象的时候,有对象方法可以用,没对象的时候,自己定义方法来用。

怪我咯

第一种:length 属于类的成员变量,直接使用
第二种:alert 是 window 对象的成员函数,这是一种默认的简写。写全的话是:window.alert("hello");
第三种:成员函数调用。

我也刚学习JS,如果答得不对,还请指正。

ringa_lee

第一个是对象的属性,第二个是也能算是函数,叫构造函数,第三个是方法。
三者的关系:对象的属性的值是一个函数,就把它(属性)称为对象的方法。

PHP中文网

很喜欢你这种问问题的态度。不像有些人问问题都不知道问得啥

大家讲道理

1.属性
对于你的例子"好好学习".length

var obj = {
            value : 'test',
            length : 4
            }
console.log(obj.length)

这个就叫取对象的属性,至于'好好学习'这个字符串怎么会有属性的,可以按照@jack_king和@Dont说的。
2.函数
function fun1(){}这种叫函数 或者 fun2 = function(){}。
直接调用fun1(),fun2(),
其实是window.fun1()和window.fun2(),
自动添加到了window上(具体可以参考3)
3.方法

var obj = {
    fun1 : function(){}
}
obj.fun1()

这种 属性的值为函数的话,就叫做对象的方法。

第一次回答问题,可能有些乱。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号