有问题的代码很简单:
console.log("So it begins.");
foo();
function foo() { console.log("In foo()."); }
console.log("So it ends.");
Run Code Online (Sandbox Code Playgroud)
为什么foo()在定义之前执行(回顾性编辑:在Chrome和Safari中)?
我对此进行了修改,在Chrome,Safari和Firefox中测试了以下代码:
javascript:foo();function foo() { alert("Oh."); }
Run Code Online (Sandbox Code Playgroud)
Chrome和Safari中会显示提醒,而Firefox则保持静音.
这种令人惊讶的,不一致的行为有什么解释吗?
我制作了一个简单的画布并将其另存为图像。我在这段代码的帮助下做到了这一点:
var canvas = document.getElementById("mycanvas");
var img = canvas.toDataURL("image/png");
Run Code Online (Sandbox Code Playgroud)
并弹出创建的图像:
document.write('<img src="'+img+'"/>');
Run Code Online (Sandbox Code Playgroud)
但它的名字总是很奇怪。我想重命名图像名称faizan.jpg等。我该怎么做?
我想在 HTML5 视频上画东西。为此,我试图在 HTML5 视频元素上放置一个画布。
但是当我将画布放在视频元素上时出现问题,视频控件不起作用。由于画布获得了所有的鼠标悬停和点击事件。有没有办法将事件委托给视频控件或在其他地方显示控件?
任何帮助/想法都会很棒。
我有一个问题,我想创建一个JavaScript类:
function Calculatore(txt,elements) {
this.p= new Processor();
this.output=txt;
$(elements).click(this.clickHandler);
}
Calculatore.prototype.clickHandler = function() {
var element=$(this);
// Code Here
// "this" contains the element.
// But what if I want to get the "output" var?
// I tried with Calculatore.prototype.output but no luck.
}
Run Code Online (Sandbox Code Playgroud)
那我怎么解决这个问题呢?
给定字符串'Hello ?, welcome to ?'和数组['foo', 'bar'],如何'Hello foo, welcome to bar'使用JavaScript(可能使用jQuery,Underscore等)在单行代码中获取字符串?
我正在使用 canvas 元素在 Chrome 中尝试 WebP 图像格式。在 MDN 上,我看到它toDataURL接受代表结果图像质量的第二个参数。
我想生成画布元素的无损 WebP 图像。但是,如果我通过1质量测试(即 100%),我不会得到完全相同的像素。看起来它正在生成有损图像。
这是一个测试用例:http://jsfiddle.net/Nf5ve/1/。绘制PNG图像时,某个像素的某种颜色的值为40。在画布本身上绘制100%质量的WebP图像后,相同的值已更改为37。这对我来说似乎不是无损的,即使虽然我的质量通过了100%。
是否有可能toDataURL创建无损 WebP 图像?如果可以,如何创建?
jQuery中是否有一个选择器可以选择具有页面特定位置的元素,例如所有offsetTop大于100px的元素?
我试过了:
$('span[offsetTop>100]')
Run Code Online (Sandbox Code Playgroud)
因为正如我们可以检查属性是否等于某个值,我认为可以检查属性是否大于某个值.但是,这不起作用.这有可能吗?
我目前有一个真实的发电机草图.它工作正常,但速度很慢.我添加到<table>使用jQuery的每个布尔值组合.对于每个值,一个<td>元素由jQuery创建,然后添加到<table>.此外,我正在使用jQuery UI来获得漂亮的按钮而不是单选按钮.
在我发布的代码提取中,table是一个包含每个布尔组合的数组.也许我的代码有点难以理解,但它基本上归结为4个布尔变量(16种可能性),96个<td>元素是在添加了类和data属性集的情况下创建的.在第二部分中,创建三组三个单选按钮并将其转换为jQuery UI按钮组.
使用计时器我发现在所有东西都填满之前需要大约0.4秒.没有那么大的交易,但它肯定是显而易见的,并没有对用户产生积极的影响,因为每次他输入一个不同的布尔公式,它需要半秒钟加载.
$table = $('#table');
$.each(table, function(k, v) {
$tr = $('<tr>').addClass('res').data('number', k);
$.each(v[0], function(k2, v2) {
$td = $('<td>').text(v2).addClass(v2 ? 'green notresult' : 'red notresult');
for(var i = 0; i < 4; i++) {
$td.data(i, i === k2);
}
$tr.append($td);
});
$tr.append($('<td>').addClass('spacing'));
$table.append(
$tr.append(
$('<td>').text(v[1]).addClass(v[1] ? 'green result' : 'red result')
)
);
});
// ... here is some code that's not slowing down …Run Code Online (Sandbox Code Playgroud) 我试图让一个简单的WebSocket示例在我的机器上工作(localhost),我得到JavaScript和C#运行得很好并且连接,除了Chrome握手后断开连接.
我整个上午都在搜索,我认为它与相同的域策略有关,正如另一个"问题"所示,我已将浏览器更新到最新版本(12.xxx).
但是,我无法找到解决问题的方法.
我在C#端使用:
ConnectionOrigin = "http://localhost:8080";
ServerLocation = "ws://localhost:8181/test";
Run Code Online (Sandbox Code Playgroud)
我使用从磁盘直接打开的普通HTML文件(file:///在URL栏上)运行JavaScript .我也尝试过使用XAMPP在本地托管它,但我总是遇到同样的问题.
附加了C#程序的日志输出:
New connection from 127.0.0.1:8181 requested. Handshaking ...
Reading handshake ...
GET /test HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: localhost:8181
Origin: null
Sec-WebSocket-Key1: R 506 I 2D }6 qFB G0`@88J? 4
Sec-WebSocket-Key2: y 20 8403!24 L 5 8
Sending handshake ...
HTTP/1.1 101 Web Socket Protocol Handshake
Upgrade: WebSocket
Connection: Upgrade
WebSocket-Origin: http://localhost:8080
WebSocket-Location: ws://localhost:8181/test
New connection from 127.0.0.1:8181 established.
http://localhost:8080
Data …Run Code Online (Sandbox Code Playgroud) 我测试了以下正则表达式的美国价格(分隔符逗号,分隔符点)运行正常:
^[1-9][0-9]{0,2}(?:,?[0-9]{3}){0,3}(\.[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)
它有效,30,000.000的价格被拒绝.只接受2位小数.
我试图交换它们来处理欧洲价格:
^[1-9][0-9]{0,2}(?:.?[0-9]{3}){0,3}(\,[0-9]{2})?$
Run Code Online (Sandbox Code Playgroud)
但它不起作用,接受30,000,000的价格,这是错误的.只接受2位小数.
这2个正则表达式有什么问题?
javascript ×9
jquery ×4
html ×3
html5-canvas ×2
c# ×1
canvas ×1
data-url ×1
dom ×1
filenames ×1
function ×1
html5-video ×1
performance ×1
regex ×1
string ×1
webp ×1
websocket ×1