由于字符串是不可变的,所以没有办法辨别字符串是使用值进行传递的还是使用引用传递的。事实上,尽管Javascript
为了提高程序效率,在复制和传递字符串时使用的是引用,便在对字符串进行比较时却使用了值传递。如下:
var str1="hello"; var str2="hell"+"o"; if(str1==str2){ document.write("字符串是按值进行比较的"); }else{ document.write("字符串是按引用进行比较的"); }
程序运行结果: 字符串是按值进行比较的
结合运行结果来看程序代码:比较的是两个完全独立的字符串,并且含有完全相同的字符,如果使用的是值传递,二者就相等;如果使用的是引用来比较,则二者就不等。