0

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

我正在使用Framer.js库进行原型设计。我知道Framer.js使用,但我正在用香草编写它们。

差异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");
4

2 回答 2

1

区别一:

您正在调用该方法animationOptions{curve: "spring(200, 20, 0)"}用作参数的第一个。您将第二个设置framerOnboard.card1.states.animationOptions为键为 as'curve'且值为的对象"spring(200, 20, 0)"

区别二:

它们都做同样的事情,即调用方法切换"two"作为参数。然而。第一个称为括号表示法,第二个称为点表示法。这里有一些使用案例。

于 2015-09-08T02:48:34.957 回答
1

差异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/

于 2015-09-08T02:54:23.430 回答