7

我想测试这个函数 getFileExtension(input.files[0].name) 的返回值(我有一条评论指向那行)我的问题是如何在 javascript 中打印出该值?谢谢!

<script>
    function getFileExtension(filename) {
        var ext=filename.split('.').pop();
        return ext
    }
</script>

<input type='file' onchange="readURL(this);"> 

<script>
function readURL(input) {
    if (input.files && input.files[0]) {
        if (getFileExtension(input.files[0].name)=="png") { // this line is our problem 
            var reader = new FileReader();
            reader.onload = function (e) {
                document.getElementById("pdf").innerHTML="<img id='blah' src=" +
                                       e.target.result + " alt='your image' width='450'>"
            }
            reader.readAsDataURL(input.files[0]);
        }
    }
}
</script>
4

5 回答 5

7

您可以通过编写在 javascript 中打印出值

console.log(value);

大多数浏览器都有一个控制台,您可以通过按 来查看f12。这些值将在那里结束。

如果您使用 Internet Explorer,请记住打开开发人员工具 (f12),否则您会收到错误消息。

于 2013-07-10T19:33:49.423 回答
0
var msg = 'value: ' + yourVar;
if (console) {
    console.log(msg); // or console.info(msg) or whatever
} else {
    alert(msg);
}

就个人而言,我编写了一个简单的轻量级控制台,以便可以输出到页面上的任何 div。我这样做了,而不是document.write像 Avitus 在评论中建议的那样。

于 2013-07-10T19:37:17.353 回答
0

我会使用 Firefox 的 Firebug 插件来获取更详细的错误描述,并查看插入到 console.log(value) 中的值

于 2013-07-10T19:40:03.843 回答
0

您可以进行预定义的测试,以确保您的函数在不同情况下提供正确的输出:

function test_getFileExtension() {
    test("foo.png", "png");
    test("bar.py", "py");
    test("the_really_long_name.txt", "txt");
    test("playlist.xspf", "xspf");
    test("%20.txt", "txt");
    test("file_without_extension", ""); // actually gives an error

    function test(input,output) {
        var o=getFileExtension(input);
        if (o === output) {
            console.log("OK: "+input+" --> "+o);
        } else {
            console.log("ERROR: "+input+" --> "+o);
        }
    }
}

然后,一旦你更新你的函数,你test_getFileExtension()再次调用并确保它仍然按预期工作。

于 2013-07-10T19:43:52.750 回答
0

有几种方法可以在 Javascript 中打印行。我列出了一些非常有效的方法。

let a = 23;

console.log(a) // 23
process.stdout.write(a) //23
alert(a) //23

他们每个人都会给出相同的结果。快乐编码干杯。

于 2018-09-23T18:07:33.313 回答