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 相关文章推荐
Mootools 1.2教程 事件处理
Sep 15 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
Jul 26 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
在javascript中创建对象的各种模式解析
May 16 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
Vue filter介绍及其使用详解
Oct 21 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
Nov 21 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
分享Angular http interceptors 拦截器使用(推荐)
Nov 10 Javascript
JavaScript计算出两个数的差值
Mar 19 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
提高PHP编程效率的方法
2013/11/07 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
php输入数据统一类实例
2015/02/23 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
python获取android设备的GPS信息脚本分享
2015/03/06 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
科颜氏加拿大官方网站: Kiehl’s加拿大
2016/08/16 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
核心价值观演讲稿
2014/05/13 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
员工福利申请报告
2015/05/15 职场文书
社区干部培训心得体会
2016/01/06 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技
星际争霸 Light vs Action 一场把教主看到鬼畜的比赛
2022/04/01 星际争霸
Go语言 详解net的tcp服务
2022/04/14 Golang
Redis Lua脚本实现ip限流示例
2022/07/15 Redis