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对象和属性的创建方法
Jan 15 Javascript
表格 隔行换色升级版
Nov 07 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
Nov 08 Javascript
javascript实现动态加载CSS
Jan 26 Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
canvas实现钟表效果
Feb 13 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
Jun 13 Javascript
JavaScript闭包的简单应用
Sep 01 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
vue+vue-router转场动画的实例代码
Sep 01 Javascript
JSON的parse()方法介绍
Jan 31 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 多进程 解决难题
2009/06/22 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
php的sso单点登录实现方法
2015/01/08 PHP
微信公众号支付之坑:调用支付jsapi缺少参数 timeStamp等错误解决方法
2016/01/12 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
javascript作用域、作用域链(菜鸟必看)
2016/06/16 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
ES6学习教程之Promise用法详解
2020/11/22 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Django Channels 实现点对点实时聊天和消息推送功能
2019/07/17 Python
python实现静态服务器
2019/09/05 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
请介绍一下WSDL的文档结构
2013/03/17 面试题
幼儿园消防演练方案
2014/02/13 职场文书
委托书样本
2014/04/02 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
vue实现滑动解锁功能
2022/03/03 Vue.js