1.函数原型prototype设置的对象是只读类型,所以不能修改(即栈只读)。但是我们常常可以看到它被“修改‘’了。若对象中定义的属性和原型中属性一样,优先使用自定义属性。

例如代码:

  1. //原型 类似于父类
  2. function students() {
  3. this.major= '数学';
  4. this.studentsName = ['张三','李四','王五'];
  5. }
  6. var myStudents = new students(); //必须建立实例对象 才能被其他对象'继承';
  7. //建立对象
  8. function teacher(sub) {
  9.  
  10. }
  11. teacher.prototype = myStudents;//设置原型
  12.  
  13. var mathTeacher = new teacher(); //创建对象
  14. mathTeacher.studentsName[] = '赵六';
  15.  
  16. var englishTeacher = new teacher(); //创建对象
  17. englishTeacher.major = 'English';
  18.  
  19. alert('studentsName=' + mathTeacher.studentsName + " " + 'major=' + mathTeacher.major);//输出结果
  20. alert('studentsName=' + englishTeacher.studentsName + " " + 'major=' + englishTeacher.major);//输出结果

输出结果为:

但是它们修改的方式是不一样的。

  1. mathTeacher.studentsName[0] = '赵六';

studentsName指向的数组不能变,但是数组成员可以变。例如studentsName指向三年二班,你就不能让它重新指向四年一班。但是三年二班的学生改变了,studentsName还是指向三年二班没有改变。(这涉及栈堆问题)

  1. englishTeacher.major = 'English';

这并没有改变原型中的major,只是对象新建了一个和原型中的major同名的属性,根据原则优先使用自定义属性。

2.innertext和innerHTML属性的区别:

给innertext任何值都将视为文本,并以文本的形式完整的输出。

而innerHTML能判断给的值是否是标签,若是转为标签。例如

  1. <script type="text/javascript">
  2. //页面加载完成后执行
  3. window.onload = function () {
  4. window.p1.innerText = "<a href='" + 'http://www.baidu.com' + "'>"+'百度'+'</a>';
  5. window.p2.innerHTML = "<a href='" + 'http://www.baidu.com' + "'>" + '百度' + '</a>';
  6. }
  7. </script>
  8. </head>
  9. <body>
  10. <!--第一个p标签 用于测试innerText-->
  11. <p id="p1">
  12. </p>
  13. <!--第一个p标签 用于测试innerHTML-->
  14. <p id="p2">
  15. </p>
  16. </body>

运行结果为

3.一个需要图片跟着鼠标移动的需求,使用document.body.onmousemove发现不太理想,于是使用了document.onmousemove达到了效果。于是稍微琢磨了一下两者的区别。

在给document.body使用background-color染色时发现是整个屏幕染色。但是实际上document.body只有图片大小(本例中),只有鼠标在图片中移动时图片才会跟着移动。所以应该是body中有多少元素就撑多大。教程中说的body 的width 是不受限制,实际测试中也是受限制的(时代在变化?)。

而document.onmousemove是针对整个屏幕的事件。所以根据需求做不同的选择吧。

4.在设置元素大小时发现不是直接在元素中设定的style属性,无法直接使用xxx.style.heigth获得 ,得使用xxx.offsetHeigth获得。宽也一样。

javascript中的属性注意事项的更多相关文章

  1. 深入理解JavaScript中的属性和特性

    深入理解JavaScript中的属性和特性 JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaSc ...

  2. Javascript中length属性的总结

    Javascript中length属性的总结 一.StringObject中的length     length属性是返回字符串的字符数目. 例如: // 普通字符串 var str = " ...

  3. [转] JavaScript中的属性:如何遍历属性

    在JavaScript中,遍历一个对象的属性往往没有在其他语言中遍历一个哈希(有些语言称为字典)的键那么简单.这主要有两个方面的原因:一个是,JavaScript中的对象通常都处在某个原型链中,它会从 ...

  4. 【转载】JavaScript中的属性:如何遍历属性

    转载自:http://www.cnblogs.com/ziyunfei/archive/2012/11/03/2752905.html 在JavaScript中,遍历一个对象的属性往往没有在其他语言中 ...

  5. Javascript中prototype属性详解 (存)

    Javascript中prototype属性详解   在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不 ...

  6. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  7. (转载)详解Javascript中prototype属性(推荐)

    在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...

  8. Javascript中prototype属性详解

    在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...

  9. Javascript中prototype属性的详解

    原文链接:http://www.cnblogs.com/Uncle-Keith/p/5834289.html 在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象 ...

随机推荐

  1. Java集合 -- HashSet 和 HashMap

    HashSet 集合 HashMap 集合 HashSet集合 1.1 Set 接口的特点 Set体系的集合: A:存入集合的顺序和取出集合的顺序不一致 B:没有索引 C:存入集合的元素没有重复 1. ...

  2. python学习笔记之——range()函数

    range函数的三种用法:>>> range(1,5) # 代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) # 代表从1到5, ...

  3. clean-css

    What is clean-css? Clean-css is a fast and efficient Node.js library for minifying CSS files. Accord ...

  4. .net网站转到出错页是如何实现的

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm"><error s ...

  5. 关于sys CPU usage 100%问题的分析

    最近一个客户抱怨他的核心EBS数据库出现性能问题.这是一个10.2.0.3的数据库,运行在Red Hat Enterprise Linux Server release 5.5 (Linux x86- ...

  6. 远程连接MySQL服务器

    在CentOS虚拟机上安装好了MySQL服务以后,在windows上用Workbench客户端去连接时碰到很多问题,现在把解决过程记录一下. 1.在Windows上ping CentOS IP是可以p ...

  7. 最大公约数(GCD)与最小公倍数(LCM)的计算

    给出两个数a.b,求最大公约数(GCD)与最小公倍数(LCM) 一.最大公约数(GCD)    最大公约数的递归:  * 1.若a可以整除b,则最大公约数是b  * 2.如果1不成立,最大公约数便是b ...

  8. .NET Reflector注册机激活方法

    .NET Reflector注册机是一款专门针对.NET Reflector(.NET反编译工具软件)而推出的一款破解辅助工具软件.因为官方破解版软件需要118美元才能用,不然只有14天的试用期,为此 ...

  9. MVC中JavaScript和CSS的自动打包与压缩

    在程序中安装System.Web.Optimization程序集 依赖关系如下图所示: 添加BundleConfiguration类 代码如下所示 注意必须使用对应的ScriptBundle和Styl ...

  10. 【C#】#100 调用摄像头

    需求:由于项目需要获得用户的头像,所以需要用C#调用摄像头获取头像. 下面写一个调用摄像头的方法 案例:调用摄像头的一个DEMO[效果图] 使用的类库:AForge.dll   [Demo下载,Dem ...