最近正在学习js语法,讲到函数这一块内容,感觉有些细节还是挺有用的,所以发文总结一下。
javascript这门语言本身就是一种弱类型语言,它不和像java, c ,c#等等这些语言一样,在声明变量和方法的时候不需要对齐进行指定数据类型的修饰,而是分别用 var和function这两个关键字进行声明,这里我们主要说一下函数的声明
function 函数名([参数列表] ){ 方法体 }
- 需要注意的是 js函数的声明要在<script>标签里进行使用:
- <script language="javascript ">声明函数及调用函数</script>;
- <script type="text/javascript">声明函数及调用函数</script>.
(这是W3c的标准,兼容浏览器性能更强,推荐使用)
2.另外一个就是函数的调用位置:
调用JavaScript函数的三种方法:
- Script标签下使用函数名来调用函数;
- 在html中使用“Javascript”方式调用js函数;
<a href=”javascript:alert(‘你点击了这个超链接’)”>请点我</a >
alert里面必须使用单引号,引号配对
3.与事件结合。比如 onclick().
函数的定义和使用
1.定义函数:Function 函数名(参数){ 函数体 }
2.使用函数: 函数名(实参)
JS主要函数归纳:
- alert():警告框
alert():有两大作用:
1.对于开发人员:相当于输出语句(console.log()、document.write()),验证输出结果是否正确。
2.对于用户:交互行为直观,起到了很好的警示效果。
- confirm():确认框
confirm("确认删除数据吗?") 该函数主要是用来防止用户的误操作,提高用户体验。
- prompt():输入框
var string=prompt("请输入数据"); 用一个变量来接受输入的值。
- isNaN():判断参数里面的数据是不是一个非数值。
这个函数解释的时候就是如此绕口,函数名是is开头,很明显返回值类型是Boolean类型,
如果不是数字则返回 true,如果是数字则返回 false。
了解这个函数之前,我们首先需要认识一下NaN(Not a Number)
NaN是属于数字类型的,
任何关于NaN的算数运算结果都是NaN.
接下来举几个实例就明白了:
- isNaN():该函数的执行过程是:当使用该函数的时候,解释器会先将参数里面的内容尝试着转化为number,然后进行Boolean的判断
1. 参数类型为字符串,但字符串中内容为纯数字,(包括正负符号,小数点(只能识别一个小数点))
2. 参数为null,进行类型转换后值为0(Number(null)=0 实践验证)
3 . 参数为undefined, (Number(undefined)= NaN )
4. 参数为空字符串 , 空字符串类型转换Number之后的值为0.
- parseInt() 、parseFloat()、 Boolean() 强制数据类型转换
1.parseInt()和parseFloat():一般用于字符串的转化,parseInt()只有当字符串是以数字开头的才可以完成转化
parseInt("2018.5") -------> 2018
parseFloat("2018.5") -------> 2018.5
parseInt("2018aa") --------> 2018
parseInt("aa2018") ------->NaN
parseInt(".1") -------->NaN
2.Boolean(): 这里只有一些特殊值转换为Boolean'是false,所以只需要将这些特殊值记住就ok了
null、undefined、0、-0、""(空字符串)。
常用类型之间的转换
- eval()可以计算某个字符串,并执行js代码。
这个函数在有些书籍中被列入了算数运算符,比如以下代码:
<HTML>
<HEAD><TITLE>eval()函数</TITLE></HEAD>
<BODY>
<Script LANGUAGE = JavaScript>
eval("x=1;y=2;document.write(x+y)" ) // 输出:3
document.write("<br />")
document.write(eval("2*2")) // 输出:4
</Script>
</BODY>
</HTML>
- escape()、unescape()
escape()函数不会对 ASCII 字母和数字进行编码,也不会对* @ - _ + . /等 ASCII 标点符号进行编码;其他所有的字符都会被转义序列替换。
unescape()函数可对通过 escape() 编码的字符串进行解码。
因为这两个函数基本不会用到,所以就不做太多解释了。
基本上就是这些了,这是我第一次写博文,有点小激动,知识上有疑义或错误的地方,欢迎大家随时反馈。