<html>
<head>
<script type="text/javascript">
function swap(a, b) {
var c;
c = a;
a = b;
b = c;
}
var a = [1,2];
alert(a[1]);
swap(a[0],a[1]);
alert(a[0]);
alert(a[1])
</script>
</head>
<body>
</body>
</html>
提示说的是 好像ab没定义?
然后下面这个报错事什么意思?
a[0],a[1]是值引用(非对象,普通类型如数字,字符串,布尔都是值引用),不是地址引用,无法交换数组中的值,直接传递数组进行交换
function swap(arr) {
var c;
c = arr[0];
arr[0] =arr[1];
arr[1] = c;
}
var a = [1,2];
alert(a[1]);
swap(a);
alert(a[0]);
alert(a[1])
编辑器的问题,你那样浏览器也不会报错,js添加事件需要传递函数句柄,不能字符串,这个和dom中onclick属性不一样,dom中的onclick会生成一个匿名函数,函数体为属性值
document.getElementById('sort-btn').onclick=btnHandle//()//注意不能带(),直接函数名称(句柄),要不是执行函数将返回值作为onclick处理函数
或者
document.getElementById('sort-btn').onclick=function(){btnHandle()}//==>等价于dom属性 <input onclick="btnHandle()"
你可以看看冒泡写法,如果是我,我会这样定义:var a=arr[0];var b=arr[1];if(a>b){alert(a);}else{alert(b)}