JavaScript对象问题
JavaScript Object questions
假设我有一个名为options的对象。在对象内部,我有一个名为imageTypes的键。我正在尝试测试png是否与任何一个imageTypes匹配。我在这里做错了什么。谢谢你们的投入!
var options = {
imageTypes: /'.(gif|jpe?g|png)$/i
}
if (options.imageTypes.test(image/png)) {
//do stuff
}
在调用test之前,您正在使用数学运算(即除法)。这将导致RegEx被呼叫一个号码,而这个号码实际上并没有那么好用。
如果图像是您的变量,请删除/png
。或者,如果您试图比较"image/png"(即字符串),则必须在前面和后面输入引号。
在jsFiddle上进行了测试,您可以在控制台输出中找到结果。
信息
希望这能帮助你理解你正在努力实现的目标:http://jsfiddle.net/pratik136/YZ5ZD/
var options = {
imageTypes1: /'.(gif|jpe?g|png)$/i,
imageTypes2: /image'/(gif|jpe?g|png)$/i
};
if (options.imageTypes1.test('.png')
&& options.imageTypes2.test('image/png')) {
//do stuff
showResult('true');
} else {
showResult('false');
}
imageTypes1
是一个Regex,它将匹配类似.png
的字符串,而imageTypes2
正试图匹配image/png
那么怎么了
代码示例中的语法错误是image/png
周围缺少引号,而逻辑错误是使用了错误的正则表达式。
如果您想将"image/png"测试为字符串,那么您必须更改正则表达式,因为它现在检查点格式的图像扩展名。
var options = {
imageType: function(pic) {
return (/^image'/(gif|jpe?g|png)$/i).test(pic);
}
};
// returns true
console.log(options.imageType('image/png'));
相关文章:
- JavaScript代码问题:我正在将对象转换为数组
- jquery$(this)对象缺少问题
- JavaScript对象继承问题
- 在对象中添加方法时出现问题
- 基本对象/原型语法问题
- Javascript对象文字,POST问题
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 使用.map解析JSON对象时出现问题
- 类中对象的奇怪问题(John Resig简单继承)
- 访问Javascript对象-Node.js的作用域问题
- JavaScript对象中存在数组的问题
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- JavaScript—父类和子类/对象的此问题
- 我该如何解决这个问题;参考网格”;在JavaScript中完成的对象数
- jQuery拖动到相对位置的可排序列表中时出现可拖动辅助对象位置问题
- 尝试将变量传递到对象中时的作用域问题'的方法构造函数
- 创建jQuery对象时出现问题
- 面向对象,控制器问题,初学者Javascript
- 从 JSON 对象获取数据时出现问题
- Rails的问题,haml + javascript在字段对象的模糊