1. break 总是针对包含它的最内层的代码块 continue 只能用在循环中 ,总是针对包含它的最内层的代码块
如果想退出外层的循环的迭代,必须使用标签:
- outerloop: for ( var i = 0 ; i < x.length ; i++){
- for ( var j = 0 ; j < x ; j++){
- if ([something is the case ]) continue outerloop;
- }
- }
标签不过就是一段文本加上一个冒号: 但是标签只有与continue或break结合在一起使用时才发挥作用
2.函数应该咋声明呢?有毛特点呢?应该注意这些:
一个函数应该使用function关键字来声明
在名字后面必须要有圆括号,参数们通过逗号被分隔
函数体的语句被包含在一个由{} 大括号来定界的函数块中
其实所谓使用函数的关键就是:知道什么时候应该把函数当作一个值来处理,而什么时候应该去执行它 。
3.大师有一个建议:就是使用尽可能少的参数。函数声明和调用时带有大量参数通常会导致代码难以阅读
4.() 运算符,实际上是JavaScript的运算符:它命令函数执行
5.说到函数呢,就不能不说一下函数的作用域:JS里面的函数运行在被定义的作用域中,而不是执行它们的作用域中
即:内嵌函数可以访问所有它的父函数的局部变量,即使父函数在内嵌函数调用之前就已经执行
- function sendRequest(url,callback,postData)
- {
- var req = createXMLHTTPObject();
- //其他操作
- req.onreadystateChange = function (){
- if (req.readyState != 4 ) return ;
- }
- }
类似于上面的例子,在内嵌函数中可以调用在上面定义的局部变量req。
但是,内嵌函数只能访问到局部变量的最终值
如:
- function init()
- {
- var message = ' Cliected ' ;
- var x = document.getElementByTagName( "a" );
- for ( var i = 0 ; i < x.length ; i++)
- {
- x[i].onclick = function ()
- {
- x[i].firstChild.nodeValue = message;
- }
- }
- }
假设有10个<a>标签,函数执行过程中i从0到10,然后当函数结束时它保留最终的值是10(如果不为10的话循环能结束吗?嘻嘻)
所以当该函数执行结束后很久,事件处理程序被激发,而此时i的值是10,所以事件处理程序使用了这个值,于是引发了一个错误,因为文档中的第10个链接的索引值是9,事件处理程序提示错误信息:它无法找到文档中的第11个链接。
解决方案是使用this关键字来替代 (我稍后讲对象的时候会讲这个关键字),重中之重啊。!!!
老婆已经催过好多次了。先这样,虽然其实今天我把对象也看了点,不过还是明天继续写吧。(不知道啥时候看,嘿嘿)