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实现无刷新动态调用股票信息
Nov 01 Javascript
JQuery下关于$.Ready()的分析
Dec 13 Javascript
js弹出窗口之弹出层的小例子
Jun 17 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
Vue.js搭建移动端购物车界面
Jun 28 Javascript
实例讲解javascript实现异步图片上传方法
Dec 05 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
js 根据对象数组中的属性进行排序实现代码
Sep 12 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
Vue实现背景更换颜色操作
Jul 17 Javascript
VUE中setTimeout和setInterval自动销毁案例
Sep 07 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 escape URL编码
2008/12/10 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
php计算一个文件大小的方法
2015/03/30 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
JavaScipt基本教程之前言
2008/01/16 Javascript
javascript中的delete使用详解
2013/04/11 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
子页向父页传值示例
2013/11/27 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
python中format函数如何使用
2020/06/22 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
HTML5 解析规则分析
2009/08/14 HTML / CSS
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
Java程序员面试题
2016/09/27 面试题
客服文员岗位职责
2013/11/29 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
高三地理教学反思
2014/01/11 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
数学教师求职信范文
2015/03/20 职场文书
电信营业员岗位职责
2015/04/14 职场文书
演讲开场白台词大全
2015/05/29 职场文书
教师节座谈会主持词
2015/07/03 职场文书
退伍军人感言
2015/08/01 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript