重学JS
来源:互联网 发布:为什么帅哥配丑女 知乎 编辑:程序博客网 时间:2024/05/17 01:21
最近去51JS.com,学了不少新东西,总结一下:
一、函数替换
函数可以这样用=等号重新命名
dw=document.write;
dw('ok');
function print(str) {
document.write(str)
}
function Int(A){return parseInt(A);}
个人认为尽量少用,不利于学习。
二、尽量用W3C规范ID号用法
function $(A){return document.getElementById(A);}
function $(ID){
return typeof(ID)=="string" ? document.getElementById(ID) : ID;
}
这样就能确保经$取元素后的返回结果是 Object。
function $(ID){
var elem = typeof(ID)=="string" ? document.getElementById(ID) : ID;
extend(elem,Element.Method); // Element.Method 是一个方法库(一个类)
return elem;
}
这样不但能确保返回值是Object,还能把方法库的方法赋给结果。比如经 $(document.body) 后,body就能继承方法库的方法。
function $(s){
if(document.getElementById){
return eval('document.getElementById("' + s + '")');
}else{
return eval('document.all.' + s);
}
}
三、类定义
function className(){ //className是类 因为function是定义框架、定义函数
var Var1 = 1; //私有成员变量
this.Var2 = 2; //公有成员变量
className.Var3 = 3; //静态成员,但必须至少有有一个实例先生成才能引用
this.fun1 = function(){ } //公有成员函数
var fun2 = function(){}; //私有成员函数
function fun3(){}; // 私有成员函数
className.fun3 = function(){ //静态成员函数,但必须至少有有一个实例先生成才能引用
}
}
new className();
className.fun3();
这样很清晰、简洁。
四、结构
//这里Obj是目标成员
var Obj = {
fun: function(str){alert(str);}
,zxd:123
}
Obj.fun(Obj.zxd);
//可以用this引用自身
var Obj = {
fun: function(str){alert(this.zxd);}
,zxd:123
}
Obj.fun();
五、数组定义
var a = [];
var a =[12];
var a =[12,56];
var a = new Array("1","2","3");
var MyArray = {"a" : "Athens", "b" : "Belgrade", "c" : "Cairo" };
六、消息定义
document.onmouseup = fun; //传统写法
$(idName).onmousedown = function(){ CC=2;} //ID目标消息函数
七、脚本声明
<script type="text/javascript">
八、注解
<!-- MAC 效果 -->
<!--------------->
九、计时器
function autodown(){
if(!end){
movedown();
timer=setTimeout("autodown();",1000/speed);
}else
clearTimeout(timer);
}
封包setTimeout
function test(){
var testobj = this;
this.s=function(n){
alert(n);
setTimeout(function(){testobj.s(n+1);},1000);
}
}
var t = new test();
t.s(1);
十、动态增加消息
document.all("xtw_"+i).attachEvent( "onmouseover",ghover);
document.all("xtw_"+i).attachEvent( "onmouseout",ghout);
十一、颜色渐变
function ghover(){
event.srcElement.className="xtw_over";
}
function ghout(){
event.srcElement.className="defaultimg";
}
十二、判断IE与ns6
var ns6=document.getElementById&&!document.all
var ie=document.all
是否支持W3C
document.getElementById
- 重学JS
- 为什么重学操作系统?
- 重学C++
- 重学PGA
- 重学log buffer
- 重学数据结构
- 重学C语言
- 重学C++
- 重学计划
- 重学C++程序设计
- 重学C语言
- 重学JAVASE
- Fibonacci [java重学]
- 重学 servlet
- 重学C++ (一)
- 重学C++ (二)
- 重学备忘
- 重学Activity,由浅入深。
- 在WIN95中实现文件拷贝的编程方法
- VC++中的一个不足及其改善方法
- 使用临界段实现优化的进程间同步对象-原理和实现
- Beta 1 到 Beta 2 改变详细列表(英文)
- 多屏幕显示器编程( 一 )
- 重学JS
- Redirecting Standard Input/Output using the Process Class
- Printing out your W2 Form using C# and .NET
- MFC Grid control 2.26
- 消除主页浏览器差异的一些基本要点
- ASP 开发准则
- 使用 Web service 的站点列表
- Provide an Alternative View to Data Using Splitter Window
- 关于Jscript的多线程