用javascript解释image.src.match

前端之家收集整理的这篇文章主要介绍了用javascript解释image.src.match前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在学习本教程,发现一些 javascript代码难以理解.

链接到教程

http://www.w3schools.com/js/tryit.asp?filename=tryjs_lightbulb

我需要澄清代码

<script>
function changeImage() {
    var image = document.getElementById('myImage');
    if (image.src.match("bulbon")) {
        image.src = "pic_bulboff.gif";
    } else {
        image.src = "pic_bulbon.gif";
    }
}
</script>

我不明白MATCH(在image.src.match中)实际意味着什么.
它是否具有切换动作的东西.
我找不到任何有用的文章.

解决方法

好吧,@ elclanrs已经为String.prototype.match()解释提供了 a link.但是,下面是一个为您澄清一些事情的答案.

HTML:

<img id="myImage" src="http://www.w3schools.com/js/pic_bulbon.gif" />

JavaScript的:

// capture the image
var image = document.getElementById('myImage');

console.log(image.src);                                // http://www.w3schools.com/js/pic_bulbon.gif
console.log(image.src.match("word-not-in-src-name"));  // null
console.log(image.src.match("bulbon"));                // ["bulbon",index: 32,input: "http://www.w3schools.com/js/pic_bulbon.gif"] 

// image.src.match("bulbon") will return an Array,but it evaluates true in JavaScript
// This is the reason why "Evaluates true!" is printed out to console
if(image.src.match("bulbon")) {
    console.log("Evaluates true!");
}

// To prove my point,"Empty array!" also will be printed out to console
if([]) {
    console.log("Empty array!");
}

你可以从JS FIDDLE EXAMPLE开始自己看

因此,要返回代码示例:

if (image.src.match("bulbon")) {
    image.src = "pic_bulboff.gif";
} else {
    image.src = "pic_bulbon.gif";
}

..如果bulbon word在当前图像src属性中,则图像将被更改为pic_bulboff.gif,因为执行将在if块内移动,因为image.src.match(“bulbon”)将返回一个数组,(如在上面的例子中演示过,并在docs中也有解释).

干杯,希望你现在明白如何检查某些单词是否是未来字符串的一部分:)

猜你在找的JavaScript相关文章