Javascript是一种不编译的基于对象的脚本语言(高级语言),可以开发交互式Web网页,主要用于表单验证。
Javascript构架
<script language="javascript" type="text/javascript">
.......
</script>
常用的命令:
//alert命令是弹出提示框的意思
alert("大家好!");,如果要换行就在一行后输入\n,如alert("姓名:"+xingming+"\n性别:"+xingbie);
//prompt命令弹出输入框,jif是默认的文本框中的内容
prompt("请输入密码","jif");
经常用到的表单操作:
获取表单中文本框的值:document.表单名称.文本框名称.value
把文本框中的内容全选:document.表单名称.文本框名称.select();
文本框得到焦点:document.表单名称.文本框名称.focus;
在js中获取具有id的对象,并改变他的样式:document.getElementById("lanmu").style.color="ff00ff"
改变一个span标签之内的标签可以:document.getElementById("id").innerHTML="<h2>测试</h2>"
创建自己的库要按照下面的模板:
(function(){
function $(){
…
}
window['myNameSpace']={}
window['myNameSpace']['
]=$; })();
(先向windows中注册自己的命名空间,然后再在这个命名空间中注册自己的函数、方法,要记住这种写法!!!)
例如:
(function(){ window['IC']={} function $(){ alert("调用到了") } window[‘IC’][‘$’]=$;
function getElementByClassName(){
...
}
window['IC']['getElementByClassName']=getElementByClassName;
})();
JS常见问题
1.区分大小写(方法,变量等)
2.单引号、双引号
这两个符号都可以用来创建字符串,但是大多数js开发人员都用单引号。而XHTML属性使用双引号。单引号可以包含双引号,双引号也可以包含单引号。单引号中的单引号或者双引号中的双引号都是需要使用转义字符的
3.括号
可以是分隔符也可以是表达式,
(function(){})(),前面的小括号作为分隔符,后面的括号表示立刻执行这个方法。(onload方法在页面加载完全后才会发生)
4.函数调用和引用
var foo=example();函数的返回值(小括号代表执行)
var foo1=example;函数的引用,指针的赋值
5.换行(字符串中间不能包含强制换行符,可以通过反斜杠来转义换行符,或者使用字符串连接符+)
var temp='<h2 class="a">A list</h2>\
<ol>\
</ol>\
';
6.分号、大括号可选
分号可写可不写,但是最好是写分号。
7.重载
js不支持重载,在这里叫替换
要注意自己定义的方法的名称,不要重复,否则将替换原有的
8.作用域、闭包
function newInit(){ for(var i=1;i<=3;i++){ var anchor=document.getElementById("anchor"+i); anchor.οnclick=function(){ alert("My anchor id is anchor"+i); } } }
这样写出来的程序,运行后不管点击哪个anchor i的值都是4.是因为点击后循环已经完毕,i的值就是4.在找i的值的时候先在本身的作用域中找,如果找不到就在上一层的作用域中去找。
解决这种问题的办法就是使用闭包:
function newInit(){ for(var i=1;i<=3;i++){ var anchor=document.getElementById("anchor"+i); registerListener(anchor,i); } } } function registerListener(anchor,i){ anchor.οnclick=function(){ alert("My anchor is anchor"+i); } }
这样写的程序运行出来,点击哪个就显示哪个的id,这就是闭包的作用,在newInit方法中为每个 registerListener实例都保存了一个i的值。
js的异常处理使用try{}catch{}进行表示
try{ myFunction() } catch(exception){ alert('捕获的异常名为:'+exception.name+'\n捕获的异常内容为:'+exception.message); }