Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以为函数创建自定义语法/前缀吗?_Javascript - Fatal编程技术网

Javascript 我可以为函数创建自定义语法/前缀吗?

Javascript 我可以为函数创建自定义语法/前缀吗?,javascript,Javascript,如何为函数创建自定义语法/前缀 jQuery使用$.function,有什么方法可以做到这一点,比如说$.myFunction()有效吗?语法只是对对象的方法调用: var $$ = { myFunction: function () { return "hello"; } }; $$.myFunction(); // hello 该语法只是对对象的方法调用: var $$ = { myFunction: function () { r

如何为函数创建自定义语法/前缀


jQuery使用
$.function
,有什么方法可以做到这一点,比如说
$.myFunction()
有效吗?

语法只是对对象的方法调用:

var $$ = {
    myFunction: function () {
        return "hello";
    }
};

$$.myFunction(); // hello

该语法只是对对象的方法调用:

var $$ = {
    myFunction: function () {
        return "hello";
    }
};

$$.myFunction(); // hello

$
只是一个变量名

var $$ = {
    myFunction: function () { ... }
};

…但不要使用
$$
$
是一个愚蠢的变量名,它完全不告诉阅读代码的人它的功能
$
也有同样的问题。

$
只是一个变量名

var $$ = {
    myFunction: function () { ... }
};
$$ = function() {

};

$$.myFunction = function() {

};

…但不要使用
$$
$
是一个愚蠢的变量名,它完全不告诉阅读代码的人它的功能
$
也有同样的问题。

jQuery只是依赖一个名为
$
的全局对象,它包含多个函数

$$ = function() {

};

$$.myFunction = function() {

};
它可以这样做,因为
$
是一个有效的标识符

你可以很容易地做到

var $$ = {
    myFunction: function() {
        console.log("Foo");
    }
};

jQuery只是依赖一个名为
$
的全局对象,它包含多个函数

它可以这样做,因为
$
是一个有效的标识符

你可以很容易地做到

var $$ = {
    myFunction: function() {
        console.log("Foo");
    }
};

所有这些答案都是正确的,但没有一个能真正解释“为什么”。您正在谈论的“语法/前缀”被称为“名称空间”,大多数情况下,您都会看到它,这是因为存在一个JavaScript对象,该对象中定义了一组方法

一些常见的例子:

Math.round()
-引用JavaScript数学对象中的
round
函数
$.trim()
-引用Jquery的
trim
函数(默认情况下,该函数使用
$
命名空间)

这些是名称空间的“对象形式”,但您也经常看到“对象实例”形式。例如:

var myDate = new Date();
myDate.getFullYear();
在该示例中,
myDate
是JavaScript
Date
对象的一个实例,因此,通过调用
myDate.getFullYear()
,您实际上是将该函数命名为
日期
对象的特定实例,而不是对象本身

因此,为了回答您的问题,如果您希望所有函数都具有名称空间,最简单的方法就是如其他人所示。创建一个JavaScript对象并使您的函数成为该对象的方法


更多关于名称空间的信息:

所有这些答案都是正确的,但没有一个能真正解释“为什么”。您正在谈论的“语法/前缀”被称为“名称空间”,大多数情况下,您都会看到它,这是因为存在一个JavaScript对象,该对象中定义了一组方法

一些常见的例子:

Math.round()
-引用JavaScript数学对象中的
round
函数
$.trim()
-引用Jquery的
trim
函数(默认情况下,该函数使用
$
命名空间)

这些是名称空间的“对象形式”,但您也经常看到“对象实例”形式。例如:

var myDate = new Date();
myDate.getFullYear();
在该示例中,
myDate
是JavaScript
Date
对象的一个实例,因此,通过调用
myDate.getFullYear()
,您实际上是将该函数命名为
日期
对象的特定实例,而不是对象本身

因此,为了回答您的问题,如果您希望所有函数都具有名称空间,最简单的方法就是如其他人所示。创建一个JavaScript对象并使您的函数成为该对象的方法


这里有更多关于名称空间的内容:

这意味着它是从对象调用函数。$不是自定义的“语法”
$
是Javascript中实体名称的有效字符。这可能意味着它从对象调用函数。
$
不是自定义的“语法”
$
是Javascript中实体名称的有效字符。的可能重复项