我对编写javascript的方式感到困惑,我想知道两者之间有什么区别?它们都产生相同的结果,但是编写它的最佳方法是什么?
我正在使用Framer.js
库进行原型制作。我知道Framer.js
使用coffeescript,但是我正在用香草javascript编写它们。
差异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");
最佳答案
差异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/