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 相关文章推荐
javascript与asp.net(c#)互相调用方法
Dec 13 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
Aug 03 Javascript
用jquery方法操作radio使其默认选项是否
Sep 10 Javascript
javascript通过navigator.userAgent识别各种浏览器
Oct 25 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
Oct 17 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
js实现点击链接后延迟3秒再跳转的方法
Jun 05 Javascript
举例讲解Node.js中的Writable对象
Jul 29 Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 Javascript
vue-cli随机生成port源码的方法
Sep 02 Javascript
vue实现图片按比例缩放问题操作
Aug 11 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中的float类型使用说明
2010/07/27 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
nodejs 后缀名判断限制代码
2011/03/31 NodeJs
js实例属性和原型属性示例详解
2014/11/23 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Django之模板层的实现代码
2019/09/09 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
世界经理人咨询有限公司面试
2014/09/23 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
班组长的岗位职责
2013/12/09 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
找工作求职信
2014/07/07 职场文书
党员个人党性分析材料
2014/12/18 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
羊脂球读书笔记
2015/06/30 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python