我正在学习VueJs,在这个沙箱中https://codesandbox.io/s/o29j95wx9它有像这样的行
<script>
export default {
props: {
value: {
type: String,
default: '',
}
},
computed: {
listeners () {
return {
// Pass all component listeners directly to input
...this.$listeners,
// Override input listener to work with v-model
input: event => this.$emit('input', event.target.value)
}
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
什么是...在...this.$listeners,做什么?我尝试搜索它,但每个搜索引擎都会过滤掉该查询.我不知道它叫什么.
我也看到它在这样的vuex中使用过
computed: {
...mapGetters({
currentData: 'viewerGetCurrentDocument',
folders: 'viewerGetFoldersList'
}),
Run Code Online (Sandbox Code Playgroud) 我碰巧知道以下代码
这是代码,非常简单:
var test = 0 || -1 ;
console.log(test);
Run Code Online (Sandbox Code Playgroud)
然后控制台中的输出为-1
不知怎的,我真的是新的javascript,
我想到的是,0代表JS中的布尔值False,因此||运算符似乎忽略0并将值-1赋给变量
我是对的吗?我只是想确认一下
我刚刚遇到了使用的代码!!,这意味着逻辑不对我.
app.isArray = Array.isArray || function(object) {
return !!(object && object.concat
&& object.unshift && !object.callee);
};
Run Code Online (Sandbox Code Playgroud)
使用!!和不使用它有什么不同?
(我的猜测是!!将结果转换为布尔类型.如果我的猜测是正确的,为什么会这样?)
例如,在while循环中:
while (i < 10) {
text += "The number is " + i;
i++;
}
Run Code Online (Sandbox Code Playgroud)
它不能大于或等于,因为就是这样:> =那它是做什么的?谢谢
以下代码是什么意思?(它不是json-这是不会由js解释器产生错误的代码)
foo: 5
Run Code Online (Sandbox Code Playgroud)
问题的原因如下。在箭头函数示例中,有一个示例显示了json和代码块语法之间的混淆:
var func = () => { foo: 1 };
Run Code Online (Sandbox Code Playgroud)
func()返回undefined并且上面的代码不会失败。我试图仅将foo:5代码作为js模块中的唯一代码-并且可以正常工作...我不知道':'运算符,也不知道js中的标签。
我遇到了那些正在检查user.rank属性的运算符:
<div ng-show="!!user.rank">
{{user.rank}}
</div>
<button ng-show="!user.rank" ng-click="addRank(user)">Add Rank</button>
Run Code Online (Sandbox Code Playgroud)
它们有何不同,我们可以使用什么呢?
有人可以解释一下,这行代码在 Javascript 中代表什么:
const [m, o] = [player.matrix, player.pos]
我对变量名周围的方括号特别感到困惑?
Airbnd建议我这样做:
!function() {
// ...
}();
Run Code Online (Sandbox Code Playgroud)
因为:
这可确保如果格式错误的模块忘记包含最终分号,则在脚本连接时,生产中不会出现错误.
爆炸让我可以解决语言的语法规则:
// Evaluated in Chromium 34 console.
function(){}(); // => SyntaxError: Unexpected token (
!function(){}(); // => true
Run Code Online (Sandbox Code Playgroud)
当连接其他模块时,爆炸似乎可以解决问题:
!function(){}();function(){}(); // => SyntaxError: Unexpected token (
!function(){}();!function(){}(); // => true
(function(){}());!function(){}(); // => true
Run Code Online (Sandbox Code Playgroud)
然而,它似乎并不"安全",因为如果其他人的脚本末尾没有分号:
!function(){}()!function(){}(); // => SyntaxError: Unexpected token !
(function(){}())!function(){}(); // => SyntaxError: Unexpected token !
Run Code Online (Sandbox Code Playgroud)
看起来领先的分号IIFE更好.
;(function() {
// ...
}());
!function(){}();(function(){}()); // => undefined
(function(){}());(function(){}()); // => undefined
!function(){}();;(function(){}()); // => undefined
(function(){}());;(function(){}()); // => undefined …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚这是做什么甚至是什么.有人请你如此友善地指出我要研究什么?
circle: (null : ?{ setNativeProps(props: Object): void }),
Run Code Online (Sandbox Code Playgroud)
它是React Native示例的一部分,是React Native类定义的一部分.外部部分是(缩写):
var NavigatorIOSExample = React.createClass({
...
circle: (null : ?{ setNativeProps(props: Object): void }),
...
});
Run Code Online (Sandbox Code Playgroud)
我认为这是三元运算符的一些棘手使用.一个匿名函数.但?
资料来源:https://facebook.github.io/react-native/docs/panresponder.html
我遇到了我应该使用的代码问题.我找到了一个我不熟悉的语法,我在google文档时遇到了麻烦:
export const Something = class Something {
constructor(someObject = {}) {
this.someObject = {...Something.someObjectDefaultAsStaticMethod,...someThing};
};
// The rest of the class
};
Run Code Online (Sandbox Code Playgroud)
我在理解参数前面的三个点(...)时遇到了问题.而"参数javascript中的点"是一个糟糕的搜索词.有人可以帮助我,也许告诉我这个语法实际上是什么调用,或者直接将我链接到文档?
javascript ×10
angularjs ×1
boolean ×1
flowtype ×1
function ×1
iife ×1
loops ×1
or-operator ×1
react-native ×1
syntax ×1
while-loop ×1