是否可以让ES6类getter从ES2017 await/async函数返回一个值.
class Foo {
async get bar() {
var result = await someAsyncOperation();
return result;
}
}
function someAsyncOperation() {
return new Promise(function(resolve) {
setTimeout(function() {
resolve('baz');
}, 1000);
});
}
var foo = new Foo();
foo.bar.should.equal('baz');
Run Code Online (Sandbox Code Playgroud) 我一直试图围绕Object.create
ECMAScript 5中引入的新方法.
通常,当我想使用继承时,我会这样做:
var Animal = function(name) { this.name = name; }
Animal.prototype.print = function() { console.log(this.name); }
var Dog = function()
{
return Animal.call(this, 'Dog');
}
Dog.prototype = new Animal();
Dog.prototype.bark = function() { console.log('bark'); }
Run Code Online (Sandbox Code Playgroud)
我只是将一个新创建的Animal对象分配给Dog的原型,一切都像魅力:
var dog1 = new Dog();
dog1.print(); // prints 'Dog'
dog1.bark(); // prints 'bark'
dog1.name; //prints 'Dog'
Run Code Online (Sandbox Code Playgroud)
但人们(没有解释)说这Dog.prototype = new Animal();
不是继承的工作方式,我应该使用Object.create方法:
Dog.prototype = Object.create(Animal.prototype);
Run Code Online (Sandbox Code Playgroud)
这也有效.
使用的好处是什么,Object.create
或者我错过了什么?
更新:有人说这Dog.prototype = Animal.prototype;
也可以.所以现在我完全糊涂了
我知道如何获取具有特定属性的元素:
$("#para [attr_all]")
Run Code Online (Sandbox Code Playgroud)
但是如何才能获得没有特定属性的元素?我试试
$("#para :not([attr_all])")
Run Code Online (Sandbox Code Playgroud)
但它不起作用.这样做的正确方法是什么?
让我举个例子:
<div id="para">
<input name="fname" optional="1">
<input name="lname">
<input name="email">
</div>
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$("#para [optional]") // give me the fname element
$("#para :not([optional])") //give me the fname, lname, email (fname should not appear here)
Run Code Online (Sandbox Code Playgroud) 我有一个<div>
使用id="modal"
jQuery load()
方法动态生成的:
$('#modal').load('handlers/word.edit.php');
Run Code Online (Sandbox Code Playgroud)
word.edit.php
包含一些输入元素,它们被加载到一个模态中<div>
.
使用jQuery的keyup
方法我可以在事件触发后捕获输入值,但是当元素被动态添加到模态div时,当用户输入文本时,事件不会激活.
哪个jQuery方法支持处理由动态创建的元素触发的事件?
用于创建新输入元素的代码是:
$('#add').click(function() {
$('<input id="'+i+'" type="text" name="translations' + i + '" />')
.appendTo('#modal');
Run Code Online (Sandbox Code Playgroud)
捕获用户值的代码是:
$('input').keyup(function() {
handler = $(this).val();
name = $(this).attr('name');
Run Code Online (Sandbox Code Playgroud)
第二个代码块似乎适用于原始元素,但新动态生成的元素不会触发它.
当试图在react-native中使用async/await时,我收到以下错误:
uncaught error Error: SyntaxError: /Users/senthilsivanath/Documents/MusicTulip/index.ios.js: Unexpected token (50:23)
48 | renderScene: function(route,nav) {
49 | try {
50 | const response = await signIn.isLoggedIn();
Run Code Online (Sandbox Code Playgroud)
我的.babelrc
档案是:
{ "presets": ["react-native", "es2015", "babel-preset-stage-3"] }
Run Code Online (Sandbox Code Playgroud) 让我说我有一个列表
a=[1,2,3]
我想知道其中至少有一个数字是否存在于另一个列表中,如下所示:
b=[4,5,6,7,8,1]
换句话说,我想知道列表中是否存在1,2或3 b
.我现在可以做点什么了
def func(a, b):
for i in a:
if i in b:
return True
return False
Run Code Online (Sandbox Code Playgroud)
但有可能有办法把它放在一条线上以使事情变得整洁吗?
我在几个地方读过,关键的区别是" this
在箭头函数中是词法绑定的".这一切都很好,但我实际上并不知道这意味着什么.
我知道这意味着它在定义函数体的大括号范围内是独一无二的,但我实际上无法告诉你以下代码的输出,因为我不知道所指的this
是什么,除非它指的是胖箭头函数本身....这似乎没用.
var testFunction = () => { console.log(this) };
testFunction();
Run Code Online (Sandbox Code Playgroud) Java有Javadoc,Python有docstring.JavaScript中有类似的东西吗?
码:
$('#Inputfield').keyup(function(e)
{
if(e.which == 13)
{
functionXyz();
}
else
{
functionZyx();
}
});
$(document).keyup(function(exit) {
if (exit.keyCode == 27) { functionZzy(); }
});
Run Code Online (Sandbox Code Playgroud)
问题:如何删除keyCode == 27的keyup事件处理程序并保持其他$(document).keyup事件处理程序完好无损?
javascript ×7
jquery ×3
ecmascript-6 ×2
async-await ×1
babeljs ×1
comments ×1
document ×1
events ×1
python ×1
react-native ×1
string ×1
this ×1
unbind ×1