在ES6中,如果我创建一个类并创建该类的对象,我该如何检查该对象是否是该类?
我不能只使用,typeof因为对象仍然是"object".我只是比较构造函数吗?
例:
class Person {
constructor() {}
}
var person = new Person();
if ( /* what do I put here to check if person is a Person? */ ) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud) 在处理Web应用程序的某些Javascript时,我注意到我曾使用过setTimeout,但我曾试图清除它,clearInterval并且它在Google Chrome和Internet Explorer 9中停止了超时.
是clearTimeout和clearInterval互换?
这是一个JSfiddle,有一个我正在谈论的例子.
是否有一个Javascript库,它具有内置功能,可以使用canvas元素快速创建类似Paint的Web应用程序?
编辑:所以,到目前为止,我已经找到了允许简单动画画布元素的Javascript库 - 例如Raphael JS - 和用于创建简单的Paint应用程序的Javascript教程,但没有用于类似Paint的应用程序的强大库.
编辑2:我使用canvas元素在一个漂亮的Paint应用程序上找到了一个Javascript教程.我还是想看看其他人发现了什么.
我目前正在使用数组形式的Javascript处理一些数据.该数组最后可能包含一个空条目,例如[1,2,].在Google Chrome和Firefox中,该示例的长度为2; 但是,在IE中,长度为3.
简而言之:Internet Explorer为Javascript中的数组提供的长度与Google Chrome和Firefox不同.有没有办法在所有浏览器中标准化这种行为?
码:
var a = [1,];
alert(a.length);
Run Code Online (Sandbox Code Playgroud)
编辑:
很多答案都说没有逗号,但数据是以这种方式提供给我的.
在查看Linux内核时,我注意到了这一行:
static void *malloc(size_t size) __maybe_unused;
Run Code Online (Sandbox Code Playgroud)
在Linux v3.2 /arch/frv/kernel/gdb_stub.c中.我以前从未见过__maybe_unused用过.它是否特定于Linux内核?或者它是在C规范中定义的?它到底是做什么用的?
使用纯Javascript或jQuery,如何滚动页面以使表中的第n行位于页面的中心?
我见过的一些具有这种功能的例子通常要求我滚动的元素使用id作为选择器,但由于表具有动态的行数并且可以被分页,所以我宁愿不去这条路线必须给每个<td>标签一个id.
是最简单的方法来计算td相对于文档顶部的位置,并使用setInterval滚动窗口,直到窗口的中间是> =到第n个<td>标记的位置?
我想一些我想象它的工作方式的伪代码是:
function scrollToNthTD(i) {
var position = CalculatePositionOfTR(i);
var timer = setTimeout(function () {
ScrollDownALittle();
if( CenterOfVerticalWindowPosition > position)
clearInterval(timer);
}, 100);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将变量存储在div标记中,但是使用var a = $('div').html()不会存储div中输入标记的值.
所以,我的问题是,我应该如何使用jQuery 将HTML 和输入标签的选定选项和值保存到变量?
这是一些示例代码:
HTML:
<div>
<p>Some Text</p>
<select name="word">
<option value="1">Placeholder 1</option>
<option value="2">Placeholder 2</option>
</select>
<input type="text" />
</div>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
/* "a" should also have the user values, such that when I use $('body').append(a),
it has the same user input as the div. */
var a = $('div').html();
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我想知道Java中是否存在类似于C#的匿名类型的类似功能:
var a = new {Count = 5, Message = "A string."};
或者这个概念是否违背Java范式?
编辑:
我想Hashable()在Java中使用有点类似.
以下是如何对通用视图object_detail使用reverse的问题?
如果我像下面这样使用它,则错误消息将是:NoReverseMatch at/comment/add/Reverse for''with arguments'()'和关键字参数'{}'未找到.
在views.py中:
urlresolvers.reverse('django.views.generic.list_detail.object_detail')
return HttpResponseRedirect(resp)
Run Code Online (Sandbox Code Playgroud)
在urls.py中
common_info_dict = {
'extra_context':{
'blogtitle':"Thinking",
'blogsubtitle':"- blog system",
'articles_count':Entry.objects.count,
'comments_count': 0,
'visitors_count' : 0,
'category_list':Category.objects.all,
'tag_list':Tag.objects.all,
'comment_form': CommentForm,
},
}
object_detail_info_dict = {
'queryset': Entry.objects.all(),
'slug_field': 'slug',
'template_object_name': 'post',
}
object_detail_info_dict.update(common_info_dict)
urlpatterns += patterns('django.views.generic.list_detail',
(r'^posts/(?P<slug>[-\w]+)/$', 'object_detail', object_detail_info_dict),
)
Run Code Online (Sandbox Code Playgroud) Javascript的array.reverse()工作原理是什么?它是否通过并交换数组的每个元素?如果是这样,是否需要O(n)来交换大小为n的数组?
我想我问的原因是因为我想知道是否array.reverse()与以下相同:
for(var i = 0; i < a.length / 2; i++) {
var holder = a[i];
a[i] = a[a.length - 1 - i];
a[a.length - 1 - i] = holder;
}
Run Code Online (Sandbox Code Playgroud)
注意:对不起,如果我发布的Javascript代码不正确,现在已经很晚了.
编辑:固定a.length为a.length / 2.
javascript ×7
arrays ×2
html ×2
jquery ×2
c ×1
canvas ×1
django ×1
drawing ×1
ecmascript-6 ×1
java ×1
linux-kernel ×1
reverse ×1
scroll ×1