我想在飞行中修改滑块.我尝试使用
$("#slider").slider("option", "values", [50,80]);
Run Code Online (Sandbox Code Playgroud)
此调用将设置值,但元素不会更新滑块位置.调用
$("#slider").trigger('change');
Run Code Online (Sandbox Code Playgroud)
也没有帮助.
是否有另一种/更好的方法来修改值和滑块位置?
我在MDC或ECMAscript规范中没有找到关于我的问题的任何内容.可能有人知道一种更"笨拙"的方法来解决这个问题.
我正在调用"use strict"
我环境中的每个javascript文件.我的所有文件都是这样开始的
(function(win, doc, undef) {
"use strict";
// code & functions
}(window, window.document));
Run Code Online (Sandbox Code Playgroud)
现在,我有一个处理错误的自定义函数.该函数使用该.caller
属性来提供上下文堆栈跟踪.看起来像这样:
var chain = (function() {
var _parent = _error,
_ret = '';
while( _parent.caller ) {
_ret += ' -> ' + _parent.caller.name;
_parent = _parent.caller;
}
return _ret;
}());
Run Code Online (Sandbox Code Playgroud)
但是,当然,在严格模式下.caller
是一个不可删除的道具,在检索时抛出.所以我的问题是,是否有人知道如何禁用更严格的"功能明智"?
"use strict";
在被调用之后被所有函数继承.现在我们有可能在特定函数中使用严格模式,只需调用它们"use strict";
的顶部,但有没有办法实现相反的目的?
我知道AJAX跨域策略.因此,我不能仅通过ajax HTTP请求调用" http://www.google.com "并在我的网站上的某处显示结果.
我尝试使用dataType"jsonp",它实际上会工作,但我得到一个语法错误(显然因为收到的数据不是JSON格式化)
是否还有其他可能从外部域接收/显示数据?iFrame遵循相同的政策?
我想知道什么时候应该使用
Object.defineProperty
Run Code Online (Sandbox Code Playgroud)
为对象创建新属性.我知道我能够设置类似的东西
enumerable: false
Run Code Online (Sandbox Code Playgroud)
但你什么时候需要这个呢?如果你只是设置一个属性
myObject.myprop = 5;
Run Code Online (Sandbox Code Playgroud)
它的描述符都设置为true,对吧?当你们使用.defineProperty()的相当冗长的调用以及出于什么原因时,我实际上更好奇.
有人可以告诉我,哪个ECMA版本的IN运算符可用以及哪些浏览器(版本)支持它?
说明:
IN运算符可以像下面这样使用:
var myObject = {
Firstname: 'Foo',
Lastname: 'Bar'
};
if('Lastname' in myObject){
// Lastname is an attribute of myObject
}
Run Code Online (Sandbox Code Playgroud) 例如,如果我们-vendor-transform: rotate(40deg)
在矩形上设置一个 css属性<div>
,所有突然拖动和调整大小都会变得非常奇怪和有缺陷.
这是一个简单的jQueryUI示例:http://jsfiddle.net/Ja4dY/1/
您会注意到,如果在转换时拖动或调整该矩形的大小,它将向上或向下跳跃,并且光标将不会保留在正确的位置.在我的真实代码中,我使用自定义代码来调整大小和拖动,但是我遇到了同样的问题.
当然,"问题"是元素的方向会发生变化.因此,左可右,上得底部和其间的东西和JavaScript代码仍然处理,因为它会在每个方向不会改变.
那么,问题是:我们如何补偿变换/旋转元素?
任何好的资源/书籍/博客也非常受欢迎.
因为我在更常规的基础上使用WebSocket连接,所以我对如何在幕后工作感兴趣.所以我在一段时间内深入研究了无穷无尽的规范文档,但到目前为止,我还无法找到任何有关分块传输流本身的信息.
WebSocket协议将其称为数据帧(描述纯数据流,因此也称为非控制帧).据我了解规范,没有定义的最大长度和没有定义的MTU(最大传输单位)值,这反过来意味着单个WebSocket数据框可能包含spec(!),无限量的数据(如果我在这里错了,请纠正我,我仍然是这方面的学生).
阅读完之后,我立即设置了我的小Node WebSocket服务器.由于我有一个强大的Ajax历史(也在流媒体和Comet上),我的期望原来就像是," 在传输数据时必须有某种交互模式来读取数据 ".但那里我错了,不是吗?
我开始时很小,有4kb的数据.
服务器
testSocket.emit( 'data', new Array( 4096 ).join( 'X' ) );
Run Code Online (Sandbox Code Playgroud)
并且像预期的那样,它作为一个数据块到达客户端
客户
wsInstance.onmessage = function( data ) {
console.log( data.length ); // 4095
};
Run Code Online (Sandbox Code Playgroud)
所以我增加了有效载荷,我实际上再次期待,在某些时候,客户端onmessage
处理程序将重复发射,effectivley分组传输.但令我震惊的是,它从未发生过(节点服务器,在firefox,chrome和safari客户端测试).我最大的有效载荷是80 MB
testSocket.emit( 'data', new Array( 1024*1024*80 ).join( 'X' ) );
Run Code Online (Sandbox Code Playgroud)
它仍然存在于客户端的一个大数据块中.当然,即使你有一个非常好的连接,这需要一段时间.这里的问题是
我可能仍然从WebSockets的错误角度看,可能是发送大量数据的需要不存在,你应该在发送之前自己逻辑地分块/拆分任何数据?
有人可以详细解释Javascript引擎如何处理循环引用?浏览器甚至node.js之间有很大的区别吗?
我所说的是对象内部的显式反向/下一个引用.例如:
var objA = {
prop: "foo",
next: null
};
var objB = {
prop: "foo",
prev: null
};
objA.next = objB;
objB.prev = objA;
Run Code Online (Sandbox Code Playgroud)
我们走了.如果我们这样做,console.log( objA )
我们可以看到我们创造了一个无限链.最大的问题是,这是不是很糟糕?未明确清除时是否会造成内存泄漏?
所以我们必须这样做
objA.next = null;
objB.prev = null;
Run Code Online (Sandbox Code Playgroud)
或者垃圾收集者会照顾我们这样的星座吗?
javascript garbage-collection memory-leaks circular-reference
在某些情况下,可能会发生我们在Array结构中具有undefined
或通常为假值的情况.例如,从数据库或HTML结构等未知来源读取和填充数据时.喜欢
var data = [42, 21, undefined, 50, 40, undefined, 9]
Run Code Online (Sandbox Code Playgroud)
因为在循环这些数组并处理元素时可能会造成麻烦,删除undefined
(伪造值)的最佳做法是什么?
我正在阅读优化器文档很长一段时间,但似乎我无法理解它.医生说:
优化器将仅结合了在字符串文字的数组传递给顶层规定指明模块,并定义呼叫,否则需要在简化的CommonJS的包裹("姓名")字符串文字呼叫.因此,它不会找到通过变量名加载的模块:
好到目前为止一切顺利.这基本上意味着r.js不会包含也不会爬网嵌套依赖项.现在假设我们有一个"主应用程序"文件,如下所示:
require([ 'es5shim', 'tools' ], function() {
console.log('fictive app entry point');
require([ 'domready!' ], function( doc ) {
console.log('domReady, loading GUI modules...');
require([ 'GUI/window', 'GUI/header', 'GUI/content' ]);
});
});
Run Code Online (Sandbox Code Playgroud)
我想问题在这里变得非常明显.r.js(优化器)仅通过链接es5shim.js
和创建该文件tools.js
.有没有什么好的办法/解决方法告诉优化,它也应该链接的window.js
,header.js
而content.js
文件中的例子吗?
当然domReady
,这个实例中的插件会被加载,最终会执行回调,但看起来这里的结构本身会阻止优化器完成它的工作.
问题是:
如果我只是列出"Top require call"中的所有模块,那么r.js是否还包括+链接所有top require
以及define
从嵌套和嵌套嵌套模块到main-app文件的调用?
他们在文档中提到了r.js的include选项.它在这里是否有意义,如果是,如何正确调用它?
当然,你不想失去的选项后,在延迟加载的模块,但是对于这种依赖(等待DOMContentLoaded),我希望有一种方式来变通方法.
javascript ×9
jquery ×3
ecma262 ×2
ecmascript-5 ×2
ajax ×1
arrays ×1
css ×1
css3 ×1
filter ×1
jquery-ui ×1
json ×1
jsonp ×1
memory-leaks ×1
node.js ×1
requirejs ×1
strict-mode ×1
transform ×1
websocket ×1