JS 如何传递对象参数

JavaScript012

JS 如何传递对象参数,第1张

<html>

<head></head>

<script>

function check(val)

{

alert(document.getElementById(val).value)

}

</script>

</head>

<body>

<input name="textfield" type="text" value="888" id="test">

</body>

<script>

check("test")

</script>

</html>

这样是可以的,你那样在还没有运行到<input name="textfield" type="text" value="888" id="test">时就调用check肯定获取不到对象啊

或者这样

<html>

<head></head>

<script defer>

function check(val)

{

alert(document.getElementById(val).value)

}

check("test")

</script>

</head>

<body>

<input name="textfield" type="text" value="888" id="test">

</body>

</html>

加上defer表示加载完文档以后才开始执行js

可以这样:

……

fd.append('Filedata', fm)

fd.append('id', 5)

fd.append('sid', 8)

obj.open("post", "upload.php")

……

或者这样:

……

obj.open("post", "upload.php?id=5&sid=8")

……

前一种方式,在upload.php中要通过$_POST['id']来获取参数,而后一种方式,则通过$_GET['id']来获取参数值。

会不会修改原数组需要看你的函数里面的方法改变没有改变原数组的数据,举个例子:

1,方法中改变了原数据的,会影响原数组

var a = [1,2,3]

function test(arr){

    arr[0] = 4//直接改变原数组的第一个数据,影响原数组,故改变了原数组。

    console.log(arr)//[4,2,3]

}

a//在没有调用test之前是[1,2,3]

test(a)//输出[4,2,3]

a//test之后[4,2,3]

2,方法中没有影响原数据的,不会改变原数组

var a = [1,2,3]

function test(arr){

    arr = [4,5,6]//此处,arr直接赋予新值,和原数据没有关系,不会影响原数据

    console.log(arr)//输出[4,5,6]

}

a//test之前[1,2,3]

test(a)//输出[4,5,6]

a//test之后[1,2,3]没有影响原数据

以上个人见解,不到之处还请斧正。