107个常用Javascript语句
1.document.write( ” “); 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document- >html- >(head,body)
4.一个浏览器窗口中的DOM顺序是:window- >(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById( “表单中元素的ID號 “).name(或value)
6.一个小写转大写的JS: document.getElementById( “output “).value = document.getElementById( “input “).value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(),parseFloat()
9.JS中的数字转换成字符型:( ” ” 变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用 號.
12.JS中的比较操作符有:==等于,!=不等于, >, >=, <. <=
13.JS中声明变量使用:var来进行声明
14.JS中的判定语句结构:if(condition){}else{}
15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}
[ad#468*15-w2]
继续阅读…
JS的对话框
JS的对话框
1.警告框(alert):出现一个提示框
2.询问框(prompt):返回输入的值
<script>
var username=prompt(“请输入你的名字:”);
document.write(“你好!”+username);
</script>
3.确认框(confirm):根据不同的选择,返回true/false
<head>
<script>
function confirmit() {
if(confirm(“你确认删除此文件么?”)) {
document.testa.submit();//如果点确认,则提交为true
}
}
</script>
</head>
<body >
<form action=”tt.htm” method=”post” >
<input value=”删除文件”/>
</form>
</body>
[ad#468*15-w2]
JS函数及事件处理
JS函数及事件处理:
无参函数定义
<Script language=”JavaScript”>
function test()
{
document.write(“a”);
}
</Script>
调用:
<Script language=”JavaScript”>
test();
</Script>
有参函数
function test(a)
{
document.write(a);
}
test(“sldfsf”);–传什么就打印什么
可以返回值,但不需要写返回类型(因为弱类型)\
function test(y)
{
return y*3;
}
document.write(test(22));
JS事件处理(重点)
1.onFocus:在用户为了输入而选择select,text.textarea等时
<body>
<form name=”test”>
<input type=”text” name=”userName” value=”sss” οnfοcus=”JavaScript:alert(document.test.userName.value);” />
</form>>
</body>
2.onBlur:在select ,text,password,textarea失去焦点时
3.onChange:在select,text.textarea的值被改变且失去焦点时
4.onClick:在一个对象被鼠标点中时(button,checkbox,radio,link,reset,submit,text,textarea等)
<body>
<img src=”dsf.jpg” οnclick=”alert(‘OK’);” ></img>
</body>
5.onLoad:出现在一个文档完成对一个窗口的载入时(一般写在Body标签中,即窗口第一次载入时)
<body οnlοad=”javacript:alert(‘hello’);” οnunlοad=”javascipt:alert(‘byebye’);”>
nihao
</body>
6.onUnload:当用户退出一个文档时(同上)
7.onMouseOver:鼠标被移动到一个对象上时
<body >
<img src=”sdf.jpg” οnmοuseοver=”alert(‘over’);” οnmοuseοut=”alert(‘out’)” ></img>
</body>
8.onMouseOut:鼠标从一个对象移开时(同上)
9.onSelect:当form对象中的内容被选中时(比如全选,部分选中等)
<body >
<form name=”test”>
<input type=”text” name=”t” value=”hello” οnselect=”javascript:alert(”);” />
<select name=”se”>
<option value=”0″>hehe</option>
<option value=”1″>hehe</option>
</select>
</form>
</body>
10.onSubmit:出现在用户通过提交按钮提交一个表单时
<body >
<form name=”test” action=”1.htm” οnsubmit=”return true;”>
<input type=”submit” value=”ok” />
</form>
</body>
———-
<body >
<form name=”test” action=”1.htm” οnsubmit=”alert(‘ok’);”>–在点了提交按钮后但在表单真正提交上去之前弹出
<input type=”submit” value=”ok” />
</form>
</body>
—–
<body >
<form name=”test” action=”1.htm” οnsubmit=”return false;”>–程序执行到此中止
<input type=”submit” value=”ok” />
</form>
</body>
小结:οnsubmit=”return false/true;”很重要,可以用来做验证,注意上面的返回只能是T/F之一
<head>
<script type=”text/javascript”>
function check() {
if(document.test.t.value==”") {
alert(“空串不允许”);
return false;
}
return true;
}
</script>
</head>
<body >
<form name=”test” action=”1.htm” οnsubmit=”return check();”>
<input type=”text” name=”t” />
<input type=”submit” value=”ok” />
</form>
</body>
JS基本语法
JS基本语法:
变量
JS是一门弱类型的语法,所有的变量定义均以var来实现
JS的变量建议先定义,再使用,最好加注释
Js区分大小写
JS可以不需定义即可直接使用变量,但不建议这么做.
数组定义:
var arr=new Array(3);
通过arr.length取得数组的长度
注意.JS中数组长度虽然可以定义,但没什么用,不会出现数组溢出的情况
使用+进行字符串连接
字符串在Js也是当成对象使用的
substring(),charAt()
JavaScript初步及调试
JS初步及调试:
JavaScript(ECMAScript)包含三部分内容:
1.基础语法
2.Dom
Document object model
3.Bom
Brower object model
把整个浏览器当作对象,然后就可以通过它控制里面的各个对象,比如工具栏等
alert(“ddd”);
document.write(“ddd”);
引入外部Js(2.js)文件:
<script src=”2.js”></script>
Js弱类型,全部变量使用var来定义
Js的调试:
1.使用打印
2.启用脚本错误通知
IE–工具–internet选项–高级–(取消)禁用脚本调试–打勾禁用脚本调试(其他)–勾上显示每个脚本错误的通知
Wait sleep区别
- 来源不同
- Sleep是Thread提供的方法
- Wait继承自Object
- 代码位置不同
- Wait需要写在Synchronize语句块里面
- 是否释放锁定对象
- 调用wait方法,释放锁定该对象
- Sleep时别的线程也不可以访问锁定对象
Synchronized总结
- 无论synchronized关键字加在方法上还是对象上,它取得的锁都是锁在了对象上,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。
- 每个对象只有一个锁(lock)与之相关联。
- 实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步控制。
- 搞清楚synchronized锁定的是哪个对象,就能帮助我们设计更安全的多线程程序。
- 还有一些技巧可以让我们对共享资源的同步访问更加安全:
- 定义private 的instance变量+它的 get方法,而不要定义public/protected的instance变量。如果将变量定义为public,对象在外界可以绕过同步方法的控制而直接取得它,并改动它。
- 如果instance变量是一个对象,如数组或ArrayList什么的,那上述方法仍然不安全,因为当外界对象通过get方法拿到这个instance对象的引用后,又将其指向另一个对象,那么这个private变量也就变了,岂不是很危险。 这个时候就需要将get方法也加上synchronized同步,并且,只返回这个private对象的clone()――这样,调用端得到的就是对象副本的引用了。
对于synchronized,其使用原则就是能同步两行就不要同步三步,能同步一部分代码就不要同步整个方法,尽量少用同步
关于锁的理解:
关键是看它锁定的对象或者引用所指向的对象是否一致。同步的时候就用锁对对象进行加锁,有了这锁就可以防止对方访问,要访问就要排队,但是对自身来说要访问则没任何障碍。