javascript中的一些注意事项 更新中


Posted in Javascript onDecember 06, 2010

一.prototype原型对象,需要注意的原则是: 
 (1). 使用原型可以大量减少每个对象对内存的需求量,因为对象可以继承许多属性。
(2). 即使属性在对象被创建之后才被添加至原型中,对象也能够继承这些属性。
示例代码:

<script type="text/javascript"> 
function print(msg) 
{ 
document.write(msg,'<br/>'); 
} 
function printhr() 
{ 
document.write('<hr/>'); 
} 
print("prototype属性:<br/>"+ 
"1. 使用原型可以大量减少每个对象对内存的需求量,因为对象可以继承许多属性。<br/>"+ 
"2. 即使属性在对象被创建之后才被添加至原型中,对象也能够继承这些属性。"); 
printhr(); 
function User(name) 
{ 
this.name=name; 
} 
var zhang = new User('老张'); 
zhang.favchannel ='hello'; 
User.prototype.favchannel='CCTV'; 
Object.prototype.qq ='569723660'; 
print(zhang.favchannel); 
print(zhang.qq); 
</script>

运行结果为:
prototype属性:
1. 使用原型可以大量减少每个对象对内存的需求量,因为对象可以继承许多属性。
2. 即使属性在对象被创建之后才被添加至原型中,对象也能够继承这些属性。
二.setTimeout和setInterval 两个函数都定义在window对象中。setTimeout(fun_name,time_minisec)作用是在time时间后运行fun_name函数一次;setInterval(fun_name,time_minisec)作用是每隔time_sec时间都去运行fun_name函数。
示例代码如下:
<html> 
<head></head> 
<body> 
<div id="show"></div> 
<input type="button" value='' id='btntime'></input> 
<script type='text/javascript'> 
function print(msg) 
{ 
document.write(msg,'<br/>'); 
} 
var changetime = function() 
{ 
var d=new Date(); 
var h=d.getHours(); 
var m=d.getMinutes(); 
var sec=d.getSeconds(); 
var ampm=(h>=12)?'PM':'AM'; 
if(h>12) h-=12; 
if(h==0)h=12; 
if(m<10) m='0'+m; 
var t=h+':'+m+':'+sec+" "+ampm; 
var button = document.getElementById('btntime'); 
button.value = "setInterval:"+t; 
} 
changetime(); 
setInterval("changetime()",1000); 
function time_setTimeOut() 
{ 
var d=new Date(); 
var h=d.getHours(); 
var m=d.getMinutes(); 
var sec=d.getSeconds(); 
var ampm=(h>=12)?'PM':'AM'; 
if(h>12) h-=12; 
if(h==0)h=12; 
if(m<10) m='0'+m; 
var t=h+':'+m+':'+sec+" "+ampm; 
document.getElementById('show').innerHTML='setTimeout:'+t; 
setTimeout('time_setTimeOut()',1000); 
} 
time_setTimeOut(); 
</script> 
</body> 
</html>

三.本地对象,内置对象和宿主对象
1.本地对象包含的内容有 Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError 都是一些 ECMA-262 定义的引用类型。
2.内置对象:由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现(ECMA-262定义), 内置对象只有两个Global 和 Math ,它们都是本地对象。内置对象就是一种特殊的本地对象。
3.宿主对象:所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。
总之,本地对象,就是那些官方定义好了的对象。内置对象是本地对象的一种,其只包含Global对象和Math对象。而宿主对象则是那些官方未定义,你自己构建的对象加上DOM和BOM对象组成的。

四.Array.prototype.slice.call(_array,begin[,end]) 的使用相当于_array.slice(begin[,end]),不过Array.prototype.slice.call的效率要远远高过第二种用法。
示例:

function p(msg)

{

document.write(msg,'<br/>');

}

p(Array.prototype.slice.call([1,2,3,4],2));

p([1,2,3,4].slice(2));
运行结果:

3,4

3,4
(注:记录一下这些内容只是以后查阅起来方便,作为自己知识积累的记录。其中有很多是参考网络上的资源,不再一一写出出处,还请原作者见谅。)

Javascript 相关文章推荐
基于jquery的复制网页内容到WORD的实现代码
Feb 16 Javascript
js replace正则表达式应用案例讲解
Jan 17 Javascript
基于jquery实现控制经纬度显示地图与卫星
May 20 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
Jun 27 Javascript
写JQuery插件的基本知识
Nov 25 Javascript
Jquery中扩展方法extend使用技巧
Aug 24 Javascript
详细分析JavaScript函数定义
Jul 16 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
Dec 12 Javascript
JS变量及其作用域
Mar 29 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
JS的Ajax与后端交互数据的实例
Aug 08 Javascript
JavaScript Accessor实现说明
Dec 06 #Javascript
关于Javascript模块化和命名空间管理的问题说明
Dec 06 #Javascript
javascript处理table表格的代码
Dec 06 #Javascript
菜鸟javascript基础资料整理3 正则
Dec 06 #Javascript
菜鸟javascript基础资料整理2
Dec 06 #Javascript
菜鸟javascript基础整理1
Dec 06 #Javascript
js 上传图片预览问题
Dec 06 #Javascript
You might like
php IP转换整形(ip2long)的详解
2013/06/06 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
vue配置接口域名方法总结
2019/05/12 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
Python中的自省(反射)详解
2015/06/02 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
Python编程中NotImplementedError的使用方法
2018/04/21 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
2015年爱国卫生月活动总结
2015/03/26 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
PyTorch device与cuda.device用法
2022/04/03 Python
优化Mysql查询的示例
2022/04/26 MySQL