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 相关文章推荐
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
JavaScript正则表达式的分组匹配详解
Feb 13 Javascript
jQuery属性选择器用法示例
Sep 09 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
AngularJS 文件上传控件 ng-file-upload详解
Jan 13 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
Vue中nprogress页面加载进度条的方法实现
Nov 13 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
mysql5写入和读出乱码解决
2006/11/25 PHP
PHP 抽象方法与抽象类abstract关键字介绍及应用
2014/10/16 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
php文件上传类完整实例
2016/05/14 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
js静态作用域的功能。
2006/12/25 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
IE浏览器IFrame对象内存不释放问题解决方法
2014/08/22 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
详解微信UnionID作用
2019/05/15 Javascript
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
3分钟学会一个Python小技巧
2018/11/23 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
详解Python做一个名片管理系统
2019/03/14 Python
生物学学生自我评价
2014/01/17 职场文书
护理专业大学生自我推荐信
2014/01/25 职场文书
中文教师求职信
2014/02/22 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
房地产项目合作意向书
2015/05/08 职场文书
靠谱准确的求职信
2019/04/02 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
MySQL学习必备条件查询数据
2022/03/25 MySQL
把77A收信机改造成收音机
2022/04/05 无线电
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技