自调用函数:
顾名思义,有2个意思
《1》自行调用的函数:
就是指,函数在页面载入后或者之前就自行调用,无需借助其他函数或方法来启动;
例如:
(function(win){win.alert(11)
})(window)
《2》自己调用自己的函数:
就是指,递归:在一个函数里面调用自己的函数,当符合一定规则时,跳出自我调用,就是递归。
例如:
var fn = function(n){if(n == 1) return 1
else return n * fn(n-1)
}
来看看js代码的用法。
我们在使用JavaScript代码有两种写法:一种是在HTML页面中直接嵌入js代码,另一种是通过链接外部的JavaScript文件。
我们先来看第一种用法:在HTML页面中直接嵌入js代码
如果在HTML页面中直接嵌入JavaScript代码,我们需要使用 <script>标签,<script>和 </script>会告诉 JavaScript 在何处开始和结束。
<script>和 </script>之间的代码行包含了 JavaScript:
<script>
alert("My First JavaScript")
</script>
在HTML页面的任何位置(head部分 body部分 body的后面 较好)都可以插入script标签。
你有可能会在 <script>标签中看到使用 type="text/javascript",但是现在已经不必这样做了。JavaScript现在已经是所有现代浏览器以及 HTML5 中的默认脚本语言。
我们来看一个具体的示例
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
document.write("<h1>This is a heading</h1>")
document.write("<p>This is a paragraph</p>")
</script>
</body>
</html>
上述代码就是在在HTML页面中直接嵌入js代码。
接着我们来看看js代码的第二种用法:通过链接外部的JavaScript文件。
有时JavaScript代码过多的话,我们可以将代码单独放在JavaScript文件中然后链接起来。
我们链接外部JavaScript文件可以有以下步骤
1、首先我们建立一个JavaScript文件,扩展名是.js
2、然后将要编写的js代码写到Js文件中,并保存文件。
3、使用script标签将JavaScript文件链接到HTML文件中
<script type="text/javascript" src="JavaScript文件名和路径"></script>
需要注意一点的是,在一个已经引入外部js文件的script标签中,不能在它的开始标签和结束标签中写Js命令了。
我们来看一个具体的示例
我们先建一个js文件sample.js
然后写入js代码
document.write("<p>This is a paragraph</p>")
最后使用script标签将JavaScript文件链接到HTML文件中
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script type="text/javascript" src="sample.js"></script>
</body>
</html>
以上就是js代码使用的两种方法
array.join(separator)函数功能:将array中的每个元素用separator为分隔符构造成字符串,默认的separator是逗号,当然你可以自己指定separator
事实上join方法最常用的地方在字符串相加,用过js的人都知道js的字符串相加是特别慢且性能特别差的,把大量片段字符串放在一个数组中并用join方法连接比用+连接要快得多。
array.pop()
pop和push方法使数组array像堆栈一样工作。
函数功能:pop方法移除array中的最后一个元素并返回该元素。
如果array是空的,则返回undefined
array.push(item...)
函数功能:push方法将一个或多个item参数附加到array尾部。但是它不像concat方法那样,push方法不会修改item参数,如果参数item是一个数组,它会将参数数组作为单个元素整个添加到数组中,它返回array的新长度
array.reverse()
函数功能:反转array中元素的顺序,返回当前array
array.shift()
函数功能:移除array中的第一个元素并返回该元素,如果array是空的,它会返回undefined。
shift比pop要慢很多
array.slice(start,end)
函数功能:对array中的一段做浅复制。end参数是可选的,默认值为数组的长度array.length。
如果两个参数中任何一个是负数,array.length将和它们相加来试图将它们成为非负数。
如果start大于等于array.length,得到的结果将是一个新的空数组。