我正在寻找一个与PHP相当的JavaScript版本addSlashes.
我发现有很多版本,但它们都没有处理\b,\t,\n,\f或\r.
要完成,这个jsFiddle应该警告: \b\t\n\f\r"\\
我发现这个脚本用于将图像转换为黑白图像,效果很好,但我希望能够更好地理解代码.我以评论的形式将我的问题放在代码中.
任何人都可以更详细地解释这里发生的事情:
function grayscale(src){ //Creates a canvas element with a grayscale version of the color image
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
var imgObj = new Image();
imgObj.src = src;
canvas.width = imgObj.width;
canvas.height = imgObj.height;
ctx.drawImage(imgObj, 0, 0); //Are these CTX functions documented somewhere where I can see what parameters they require / what those parameters mean?
var imgPixels = ctx.getImageData(0, 0, canvas.width, canvas.height);
for(var y = 0; y < imgPixels.height; y++){
for(var x = 0; x …Run Code Online (Sandbox Code Playgroud) 这是我的标记:
<body>
<div id="headbox">
<p>Whatever...</p>
</div>
<div id="feed">
<div>
<p>I hate cats</p>
</div>
<div>
<p>I like cats</p>
</div>
<div>
<p>I like cats</p>
</div>
<div>
<p>I like cats</p>
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
这笔交易是我需要一个脚本来计算出现在中的所有单词<div id="feed">.
输出应包含在<p>标签或<span>标签中.
<h3>The top 3 used words in this feed:</h3>
1. <p>cats</p> 4x
2. <p>like</p> 3x
3. <p>hate</p> 1x
Run Code Online (Sandbox Code Playgroud)
这将是输出.
正如你所看到的那样(或更好的字母)I没有被考虑.计数不会考虑3个字母以下的每个字.
我已经在这个问题上绞尽脑汁了好几个小时了,现在我已经查看了大约30个在线教程.据我所知,我没有做错任何事,但我遇到了问题.我有一些测试代码:
TestPulse = function() {};
TestPulse.prototype.go = function() { alert('You just pulsed'); };
TestPulse.go();
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
function TestPulse() {};
TestPulse.prototype.go = function() { alert('You just pulsed'); };
TestPulse.go();
Run Code Online (Sandbox Code Playgroud)
最后厌倦了,我刚从网上的几个原型和命名空间教程中删除了一些代码,无论我做什么,我都会收到以下错误:
未捕获的TypeError:对象函数TestPulse(){}没有方法'go'
就像我说的那样,我不确定我做错了什么......所以到底发生了什么?当我调试时,我确实看到一个原型对象附加到函数,构造函数和所有,所以我知道它在那里.问题在哪里?我不明白原型制作是如何运作的?
我有一个div叫nav,其中一些其他div被放置.当我点击一个时,我希望它将颜色改为橙色,这很好 - 使用this.
我不希望其他人在没有点击时保持黑色.
可以not用this吗?
$('.nav div').click(function() {
$(this).css('color', 'orange');
$('.nav div:not(this)').css('color', 'black');
});
Run Code Online (Sandbox Code Playgroud) 我想要实现的是分割这样的字符串,即分隔符是索引之前的字符与该索引之后的字符不同的索引:
"AAABBCCCCDEEE" -> ["AAA", "BB", "CCCC", "D", "EEE"]
Run Code Online (Sandbox Code Playgroud)
我一直在努力构建一个简洁的解决方案,但我最终得到了这个相当冗长的代码:http://jsfiddle.net/b39aM/1/.
var arr = [], // output
text = "AAABBCCCCDEEE", // input
current;
for(var i = 0; i < text.length; i++) {
var char = text[i];
if(char !== current) { // new letter
arr.push(char); // create new array element
current = char; // update current
} else { // current letter continued
arr[arr.length - 1] += char; // append letter to last element
}
}
Run Code Online (Sandbox Code Playgroud)
这很幼稚,我不喜欢它:
我有一个字符串,例如:
"The red letters in the following words are suffixes: beauti*ful*, speech*less* and invinc*ible*."
Run Code Online (Sandbox Code Playgroud)
我想**用<span class='red'>第二个替换第一个和第二个</span>.我可以在for循环中执行此操作,但想知道如何使用RegExp执行此操作.
我这里有这个简单的代码,没什么太先进的.
$("input#send").submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: add.php,
data: data,
success: success,
dataType: dataType
});
});
Run Code Online (Sandbox Code Playgroud)
当我点击"发送"按钮时,该event.preventDefault功能不起作用,页面加载.
有什么想法吗?
我正在写一些画布代码来绘制一个圆圈,但它从未被绘制过.最后我发现这是因为我打字Math.Pi而不是Math.PI.
在Chrome浏览器开发工具,我可以看到Math.Pi是undefined,但它永远不会抛出任何异常.这是Chrome中的错误还是在undefineds 上进行计算实际上是合法的?
这是我的代码:
ctx.save();
ctx.lineWidth = 2;
ctx.fillStyle = '#FF0000';
ctx.beginPath();
ctx.arc(can.x, can.y, 15, 0, Math.Pi * 2, true);
ctx.fill();
ctx.restore();
Run Code Online (Sandbox Code Playgroud)
ctx是指canvas.getContext("2d");.
我想创建一个检查有效名称的JavaScript正则表达式.
éàëä...)我知道怎么写一些单独但没有结合.
如果我使用/^([A-Za-z éàë]{2,40})$/,用户可以输入2个空格作为名称
如果我使用/^([A-Za-z]{2,40}[ éàë]{0,40})$/,用户必须先使用2个字母,使用空格或特殊字符后,不能再使用字母.
搜索了一下,但很难为我的问题制定搜索字符串.有任何想法吗?
javascript ×10
jquery ×3
regex ×3
html5-canvas ×2
addslashes ×1
ajax ×1
arrays ×1
css ×1
escaping ×1
events ×1
split ×1
string ×1