CodeMash 2012的"Wat"谈话基本上指出了Ruby和JavaScript的一些奇怪的怪癖.
我在http://jsfiddle.net/fe479/9/上做了一个JSFiddle的结果.
下面列出了JavaScript特有的行为(我不知道Ruby).
我在JSFiddle中发现我的一些结果与视频中的结果不一致,我不知道为什么.但是,我很想知道JavaScript在每种情况下如何处理幕后工作.
Empty Array + Empty Array
[] + []
result:
<Empty String>
Run Code Online (Sandbox Code Playgroud)
+
在JavaScript中使用数组时,我对运算符非常好奇.这与视频的结果相匹配.
Empty Array + Object
[] + {}
result:
[Object]
Run Code Online (Sandbox Code Playgroud)
这与视频的结果相匹配.这里发生了什么?为什么这是一个对象.什么是+
运营商吗?
Object + Empty Array
{} + []
result
[Object]
Run Code Online (Sandbox Code Playgroud)
这与视频不符.该视频表明结果是0,而我得到[对象].
Object + Object
{} + {}
result:
[Object][Object]
Run Code Online (Sandbox Code Playgroud)
这与视频不匹配,输出变量如何导致两个对象?也许我的JSFiddle错了.
Array(16).join("wat" - 1)
result:
NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
Run Code Online (Sandbox Code Playgroud)
做wat + 1导致wat1wat1wat1wat1
......
我怀疑这只是简单的行为,试图从字符串中减去一个数字导致NaN.
我有一个匿名函数,应该调用自己.但是,我手头没有变量或函数名,所以我希望找到一个函数,它可以在函数的上下文中返回"this".有这样的事吗?
这是一个例子:
$f = function() use($bar, $foo) {
// call this function again.
};
Run Code Online (Sandbox Code Playgroud)
这样打电话:
call_user_func(__FUNCTION__);
Run Code Online (Sandbox Code Playgroud)
导致这个:
警告:call_user_func()期望参数1是有效的回调函数,找不到函数"{closure}"或函数名无效
如果我尝试将$ f放入use-list,那么它表示该变量未定义(因为它还没有).
如何找出使用谷歌Chrome控制台定义变量的文件和行?
例如,变量Native
(来自MooTools)已在全局范围内定义.我想知道使用谷歌Chrome控制台在哪个文件中定义了这个变量.
我试图通过rest API发布上传到HTML文件输入到网页的附件.API文档指出帖子是直接二进制内容作为HTTP请求的主体,而不是表单文件上载.
我的代码如下:
$('#_testButton').bind('click', function () {
var file = document.getElementById('_testFile').files[0]
var reader = new FileReader();
reader.onload = function () {
$.ajax({
url: '/attachmentURL',
type: 'POST',
data: reader.result
})
}
reader.readAsBinaryString(file)
})
Run Code Online (Sandbox Code Playgroud)
我需要这个来处理许多不同的mimeTypes,所以我没有在上面的代码中声明它.但是,我尝试为.doc文件声明contentType:'application/msword',并尝试使用processData:false和contentType:false.
数据将被发布到应有的位置.但是,当我打开文件时,我收到一条消息,上面写着mimeType:带有空文件的application/x-empty或带有一堆二进制字符的文件.我已经尝试过.doc文件和pdf文件,两者的结果是一样的.
有没有人知道我可以改变什么使这项工作?
我正在尝试像这样扩展一个关联数组,但PHP不喜欢它.
我收到此消息:
Warning: array_push() expects parameter 1 to be array, null given
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
$newArray = array();
foreach ( $array as $key => $value ) {
$array[$key + ($value*100)] = $array[$key];
unset ( $array[$key] );
array_push ( $newArray [$key], $value );
}
//}
print_r($newArray);
Run Code Online (Sandbox Code Playgroud)
我哪里做错了?
我知道JavaScript中有6种数据类型.
JavaScript中的"引用"类型是什么?JavaScript中的"值"数据类型是什么?有人可以通过这两个类别列出它们吗?
下面显示的占位符属性在firefox中工作正常,但如果在字段为空时调用val(),则返回占位符值而不是文本中的实际值.
JSFiddle - http://jsfiddle.net/Jrfwr/2/
<input id="tlt" type="text" placeholder="Enter Title" />
Run Code Online (Sandbox Code Playgroud)
JSCode
function placeHolderFallBack() {
if ("placeholder" in document.createElement("input")) {
return;
}
else {
$('[placeholder]').focus(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function () {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function () {
$(this).find('[placeholder]').each(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
} …
Run Code Online (Sandbox Code Playgroud) 我有一个PHP类型的对象MyObject
.
$myObject instanceof MyObject
Run Code Online (Sandbox Code Playgroud)
现在,在class MyObject
,有一个非静态函数,在那里,我使用"我"的引用$this
,但我也有另一个对象.
是否有可能在不做的情况下$this = $myObject
实现或多或少相同的效果,比如某种类似的东西set_object_vars($this, get_object_vars($myObject))
?
我在HTML页面的头部声明了一个有效的JavaScript函数.我知道如何创建一个按钮并在用户单击按钮时调用该函数.我想自己称之为页面上的某个地方:
myfunction();
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
Serializable属性定义为:
getAttribute
,您可以在DOM Inspector中看到更改.innerHTML
元素的parentnode时,返回的html字符串将包含所有可序列化的属性作为它们的属性对应物我创建了一个页面,看起来它可以input
在Chrome和Firefox中可靠地打印出该元素的所有可序列化属性的表格:http://jsfiddle.net/tEVLp/16/.自定义属性永远不可序列化,因此在firefox webkitSpeech
等中不可序列化.在镀铬中测试以获得最佳效果.
所有布尔都是true
因为false
属性的序列化将缺少属性,这在测试中是假阴性.
所以我的问题是,为什么不是属性.value
和.checked
序列化?
从技术上讲,两者都是可序列化的..value
只是一个字符串,浏览器没有序列化其他布尔属性的问题,例如.readOnly
和.disabled
.
我最好的猜测是,由于.defaultValue
序列化为"value"
-attribute和.defaultChecked
序列化到"checked"
-attribute,就不会有冲突,因此
.value
并.checked
不能序列.在这种情况下,为什么defaultX
选择这些而不是那些反映更有用的电流.value
和.checked
状态的?
javascript ×6
php ×3
html ×2
jquery ×2
ajax ×1
array-push ×1
arrays ×1
assign ×1
dom ×1
filereader ×1
mootools ×1
properties ×1
rest ×1
this ×1