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 相关文章推荐
ext for eclipse插件安装方法
Apr 27 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
ExtJs GridPanel简单的增删改实现代码
Aug 26 Javascript
jQuery实现id模糊查询的小例子
Mar 19 Javascript
javascript ajax 仿百度分页函数
Oct 29 Javascript
javascript中字符串的定义示例代码
Dec 19 Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 Javascript
轻松实现js弹框显示选项
Sep 13 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
Jan 18 Javascript
jQuery实现的表格前端排序功能示例
Sep 18 jQuery
vue-resource请求实现http登录拦截或者路由拦截的方法
Jul 11 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
Mar 12 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
基于mysql的bbs设计(五)
2006/10/09 PHP
模仿OSO的论坛(三)
2006/10/09 PHP
php为什么选mysql作为数据库? Mysql 创建用户方法
2007/07/02 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
百度留言本js 大家可以参考下
2009/10/13 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
vue实现购物车小案例
2019/09/27 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
Python操作CouchDB数据库简单示例
2015/03/10 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
python字符串格式化方式解析
2019/10/19 Python
Python Process多进程实现过程
2019/10/22 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
EVE LOM英国官网:全世界最好的洁面膏
2017/10/30 全球购物
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
美国孕妇装购物网站:Motherhood Maternity
2019/09/22 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
大学生应聘推荐信范文
2013/11/19 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
MySQL七大JOIN的具体使用
2022/02/28 MySQL