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 相关文章推荐
js修改原型的属性使用介绍
Jan 26 Javascript
基于iframe实现类似于ajax的页面无刷新
May 31 Javascript
jQuery中noconflict函数的实现原理分解
Feb 03 Javascript
JS实现的自定义右键菜单实例二则
Sep 01 Javascript
jquery与js实现全选功能的区别
Jun 11 jQuery
用Axios Element实现全局的请求loading的方法
Mar 15 Javascript
vue计算属性及使用详解
Apr 02 Javascript
讲解vue-router之什么是嵌套路由
May 28 Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 Javascript
wx-charts 微信小程序图表插件的具体使用
Aug 18 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
小程序自定义模板实现吸顶功能
Jan 08 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
帅气的琦玉老师
2020/03/02 日漫
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
关于laravel后台模板laravel-admin select框的使用详解
2019/10/03 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
javascript时区函数介绍
2012/09/14 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
2017/04/21 jQuery
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
python读取excel表格生成erlang数据
2017/08/26 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
Python操作word常见方法示例【win32com与docx模块】
2018/07/17 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Python求正态分布曲线下面积实例
2019/11/20 Python
python如何更新包
2020/06/11 Python
为什么是 Python -m
2020/06/19 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
承认错误的检讨书
2014/01/30 职场文书
消防安全汇报材料
2014/02/08 职场文书
经营目标管理责任书
2014/07/25 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
Mysql存储过程、触发器、事件调度器使用入门指南
2022/01/22 MySQL