自定义函数里的形参是不需要var来声明的吗?
来源:3-31 编程练习
不会飞的萌物
2018-11-28 23:04:14
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>首字母变大写</title> </head> <body> <script> function initialchange(str){ var arr=str.split(" "); var s,newstr=""; for(var i=0;i<arr.length;i++){ s=arr[i]; newstr+=s.charAt(0).toUpperCase()+s.substr(1)+" "; } document.write(newstr); } initialchange("all time is no time when it is past."); document.write("<br/>"); initialchange("i remember. i tell you a story. the story makes you happy. you are beautiful. i love you."); </script> </body> </html>
如题,比如function initialchange(str)里str没有用var来声明,那为什么其他变量就必须要声明呢?
1回答
你好同学 ,这个是js本身的语法特点 , 函数括号中定义的是参数 ,参数只是和变量类似 ,但不是变量 . 参数是不需要使用var声明的 .
其实变量也可以不用var声明 ,如下变量list不使用var声明 , 需要注意的是 ,如果在函数中不使用var声明变量 , 那么它就是一个全局变量 . 可以在函数外部访问到 .所以为了规范和避免函数中的变量造成全局污染 , 定义时需要加上var :
另外 , 建议同学代码中传递的实参可以先定义一个变量接收 ,这样便于管理 . 如下:
祝学习愉快 ,望采纳 .
相似问题