JavaScript: 书写规范与差异

JavaScript: Writing convention and the differences

我对自己的写作方式感到困惑 我想知道它们之间有什么区别?它们都产生相同的结果,但哪种是最好的写法?

我正在使用 Framer.js 库进行原型制作。我知道 Framer.js 使用 但我是用 vanilla .

写的

差异 1

framerOnboard.card1.states.animationOptions({
    curve: "spring(200, 20, 0)"
});

framerOnboard.card1.states.animationOptions = {
    curve: "spring(200, 20, 0)"
};

差异2

framerOnboard.card1.states["switch"]("two");

framerOnboard.card1.states.switch("two");

差异一:

第一个调用方法 animationOptions 并使用 {curve: "spring(200, 20, 0)"} 作为参数。第二个你将 framerOnboard.card1.states.animationOptions 设置为一个对象,其键为 'curve',值为 "spring(200, 20, 0)".

差异二:

他们都做同样的事情,就是以"two"为参数调用方法switch。然而。第一个称为括号表示法,第二个称为点表示法。 Here 是其中一个优于另一个的一些用例。

差异1

animationOptions.- 这是一个接收对象作为参数的函数。这个对象有一个键,这个键有一个字符串值。

framerOnboard.card1.states.animationOptions({
    curve: "spring(200, 20, 0)"
});

animationOptions.-它是一个有键的对象,这个键有一个字符串值。

framerOnboard.card1.states.animationOptions = {
    curve: "spring(200, 20, 0)"
};

差异2

没有区别。

检查这个例子:

var framerOnboard = {};
framerOnboard.card1 = {};
framerOnboard.card1.states = {};
framerOnboard.card1.states.switch = function(arg) // It's a function.
{
    alert(arg);
};

您可以通过两种方式执行此功能:

framerOnboard.card1.states["switch"]("two");

framerOnboard.card1.states.switch("two");

http://jsfiddle.net/dannyjhonston/un693467/1/