JavaScript语法
八、函数
函数就是完成某个功能的一组语句,函数由关键字function + 函数名 + 加一组参数定义;
函数在定义后可以被重复调用,通常将常用的功能写成一个函数,利用函数可以使代码的组织结构更多清晰。
语法:function funName (arg0, arg1, … argN){
//statements
}
例子:
function sum(a,b){ document.write(a + b); } sum(1,2);
使用 return 语句从函数返回值
例子:
function sum (num1, num2){ return num1 + num2; } var s = sum(1, 2); alert(s);
注意:
①位于return 语句之后的任何代码都永远不会执行!
②在JavaScript中,不一定要指定返回值!
递归函数:在函数里面调用自己 从而实现循环的效果
function test(num){ if(num == 0 || num == 1){ return 1; } return num*test(num-1); } document.write("5的阶乘为:"+test(5));
九、变量的作用域
变量既可以是全局,也可以是局部的。
全局变量:可以在脚本中的任何位置被引用,一旦你在某个脚本里声明了全局变量,你就可以在这个脚本的任何位置(包括函数内部)引用它,全局变量的作用域是整个脚本。
局部变量:只存在于对它做出声明的函数内部,在函数的外部无法相用它,局部变量的作用域仅限于函数内部。
var global = "global"; //全局变量 function test(){ var local="local"; //局部变量 global2="global2"; //全局变量 }
在函数外用var声明的变量是全局变量
定义在函数当中,但是没有用var声明的是全局变量
定义在函数当中,用var声明的是局部变量
十、JavaScript 内部函数
在JavaScript中有一些工功能是很常用的,他们以全局函数的形式提供给用户,这些函数称为内部函数。
1.eval()
eval 接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
例子:
var i = 1; eval(“i = i + 1”); eval(“alert(i);”);
说明:该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
提示:虽然 eval() 的功能非常强大,但在实际使用中用到它的情况并不多。
2.parseInt 和 parseFloat 将字符串转换为数字
parseInt() 函数可解析一个字符串,并返回一个整数。
parseInt() : W3School
parseFloat() 函数可解析一个字符串,并返回一个浮点数。
parseFloat() : W3School
3.escape 和 unescape 进行URL编码和解码
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
unescape() 函数可对通过 escape() 编码的字符串进行解码。
例子:
var test="https://www.baidu.com/"; test=escape(test); document.write (test + "<br />"); test=unescape(test); document.write(test);
结果:
https%3A//www.baidu.com/ https://www.baidu.com/
十一、JavaScript 调试
在编写 JavaScript 时,如果没有调试工具将是一件很痛苦的事情。
没有调试工具是很难去编写 JavaScript 程序的。
你的代码可能包含语法错误,逻辑错误,如果没有调试工具,这些错误比较难于发现。
通常,如果 JavaScript 出现错误,是不会有提示信息,这样你就无法找到代码错误的位置。
JavaScript 调试工具
在程序代码中寻找错误叫做代码调试。
调试很难,但幸运的是,很多浏览器都内置了调试工具。
内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。
有了调试工具,我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。
浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。
例子:
console.log("hello world!");