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 类
Nov 07 Javascript
基于jquery的bankInput银行卡账号格式化
Aug 22 Javascript
js流动式效果显示当前系统时间
May 16 Javascript
浅谈jQuery中事情的动态绑定
Feb 12 Javascript
Vue 2中ref属性的使用方法及注意事项
Jun 12 Javascript
React进阶学习之组件的解耦之道
Aug 07 Javascript
JS 实现百度搜索功能
Feb 01 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
element ui 对话框el-dialog关闭事件详解
Feb 26 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
javascript实现打砖块小游戏(附完整源码)
Sep 18 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
解析isset与is_null的区别
2013/08/09 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
CCPry JS类库 代码
2009/10/30 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
jquery ajax分页插件的简单实现
2016/01/27 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
flask应用部署到服务器的方法
2019/07/12 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
为什么需要版本控制
2016/10/28 面试题
导游实习生自荐书
2014/01/28 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
求职自荐信怎么写
2014/03/06 职场文书
大学生就业求职信
2014/06/12 职场文书
节约粮食标语
2014/06/18 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
2015年安全月活动总结
2015/03/26 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书