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中的事件
Sep 23 Javascript
再谈javascript 动态添加样式规则 W3C校检
Dec 25 Javascript
Javascript匿名函数的一种应用 代码封装
Jun 27 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
JS 弹出层 定位至屏幕居中示例
May 21 Javascript
jQuery trigger()方法用法介绍
Jan 13 Javascript
浅谈JavaScript字符串与数组
Jun 03 Javascript
Bootstrap如何创建表单
Oct 21 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
Vue和Bootstrap的整合思路详解
Jun 30 Javascript
基于zepto.js实现手机相册功能
Jul 11 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
Jul 17 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数据类型转换方法
2020/07/11 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JavaScript中的事件处理
2008/01/16 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
jquery禁用右键示例
2014/04/28 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
js正则表达式注册页面表单验证
2016/10/11 Javascript
js数组去重的hash方法
2016/12/22 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
mongoose中利用populate处理嵌套的方法
2017/05/26 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
小程序实现授权登陆的解决方案
2018/12/02 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
Python抽象类的新写法
2015/06/18 Python
Python实现新浪博客备份的方法
2016/04/27 Python
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
二手书店创业计划书
2014/01/16 职场文书
股东授权委托书范文
2014/09/13 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书