`
eyec
  • 浏览: 9680 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

犀牛读书笔记(1)

阅读更多
1. Javascript中的对象
对象是一种复合数据类型,将多个数据值集中在一个单元中,而且允许使用名字来存储这些值。另一种解释,对象是一个无序的属性集合,每个属性都有自己的名字和值,存储在对象中的已命名的值既可以是数字和字符串,也可以是对象。


2. 创建空对象
var o = new Object();//使用构造函数创建空对象
var o = {};//使用对象直接量创建空对象


3. 遍历对象的属性
Function DisplayPropertyNames(obj){
var names = “”;
for (var name in obj)
names += name+”\n”;
alert(names);
}.


4. 删除对象的属性
Delete person.name
如果读取一个不存在(就是还没有被赋值的属性)的值,得到undefined
删除掉的属性则不是把对象的属性设置成undefined,而是从对象中真正移除了属性。
For/in循环可以枚举出已经被设为undefined的属性,但不列出被删除的属性。


5. 构造函数
构造函数是具有两个特性的函数:一、由new运算符调用。二、传递给它的是一个对新创建的空对象的引用,将该引用作为关键字this的值,而且还要对新创建的对象进行适当的初始化。
Function Rectangle(w,h){
this.width=w;
this.height=h;
}
var rect = new Rectangel(1,2);//把指向rect的this传递给构造函数,初始化?
构造函数只是初始化了由this传递进来的对象,并不返回对象


6.方法
方法就是通过对象调用javascript函数。
函数就是数值,他们所使用的名字没有任何特殊之处,可以将函数赋给任何变量,值赋给一个对象的任何属性。
任何一个函数都会得到一个额外的实际参数,既调用该函数的对象。
在方法体内部,关键字this的值就变成了调用该方法的对象。
函数是存储在变量中的值,而那个变量也不过是全局对象的一个属性,当调用一个函数时,实际上调用的事全局对象的一个方法。在这样的函数中,关键字this引用的是全局对象。
用构造函数定义方法
function Rectangle(w,h){
this.width=w;
this.height=h;
this.area =function(){
return this.width*this.height;
}
}
用构造函数定义方法的缺点:对所有的属性都进行了设置,其中方法属性是常量,所以每个对象的方法属性都是相同的,由于每个属性都占用一定的空间,所以占用的内存会增加。解决方法是用对象的原型属性。


7、原型对象和继承
每个对象都有原型对象,原型对象的所有属性是以它为原型的对象的属性。一个对象的原型是由创建并初始化该对象的构造函数定义的。Javascript中的所有函数都有prototype属性,他引用了一个对象,虽然原型对象初始化时是空的,但是你定义在其中的任何属性都会被该构造函数所创建的所有对象继承。
对象的读写不对称:读取对象o的属性p时,javascript首先检查o是否具有一个名为p的属性,如果o没有这个属性,javascript会再检查o的原型是否具有这个属性,这样才使得以原型为基础的继承机制起作用。当写一个属性的值的时候,javascirpt并不使用原型对象。因为当一个对象o还没属性p的时候,设置p的值会改变原型对象p的值,这样会改变了整个对象类的p的值,而不仅仅是改变了自己想要改变的属性值。


8、面向对象的javascript
定义类Cricle
Function Circle(radius){
this.r=radius;//定义实例属性并初始化
}
//类属性
Circle.PI = 3.1415;
//实例方法
Circle.prototype.area = function Circle_area(){ return Circle.PI*this.r*this.r}/
//类方法
Circle.max = function(a,b){
If(a.r>b.r)  return a;
else return b;
}



9、超类和子类
在javascritp中,类object是最通用的类,是其他所有内部类的超类。所有类都继承了Object类的基本方法。
对象从它们构造函数的原型对象中继承属性,又从Object对象中继承属性。
原型对象本身就是一个对象,它是由构造函数Object()创建的。这就意味着原型对象继承了Object.protype属性。而Complex对象就继承了Complex.prototype对象的属性,而后者又继承了Object.prototype属性。
Function MoreComplex(real,imaginary){
this.x =real;
this.y=imaginary;
}
MoreComplex.protytype = new Complex(0,0);
//给子类添加新方法或特性
MoreComplex.prototype.swap = function(){
Var  tmp = this.x;
this.x = this.y;
this.y = tmp;
}
//由于此时MoreComplex的Constructor 指向超类的constructor,所以必须明确地设置constructor属性
MoreComplex.prototype.constructor = MoreComplex;


10、对象的属性和方法
Javascript中所有的对象都由类Object继承而来,以下是Object定义的属性和方法。
Constructor属性:每个对象都有Constructor属性,它引用的是用来初始化该对象的构造函数。
toString()方法:没有任何实际参数,返回一个字符串,该字符串代表了调用它的对象的类型或值。该方法的目的是让每个对象类都有自己特定的字符串表示,当你定义一个类时,就应该为他定义一个toString()方法,以便能将这个类的实例转化成有意义的字符串。当一个函数被转换成字符串时,获得该函数的源代码。
Valueof(), toLocaleString() , hasOwnProperty() , propertyIsEnumerable() , isPrototypeOf()
分享到:
评论

相关推荐

    犀牛Rhino建模学习笔记

    1. **基础概念** - **NURBS**: 非均匀有理B样条是控制点与数学方程定义的曲线或曲面,用以创建光滑的几何体。在犀牛Rhino中,NURBS是所有模型的基础,其精确性使得Rhino非常适合复杂曲面的建模。 - **模板**: 在...

    USB合辑_usb_犀牛usb接口_犀牛_犀牛3d模型_犀牛建模usb口_

    标题中的“USB合辑_usb_犀牛usb接口_犀牛_犀牛3d模型_犀牛建模usb口”指的是一个专门针对USB接口设计的3D建模资源集合,其中特别提到了“犀牛USB接口”和“犀牛3D模型”。这个合辑可能包含了多个与USB接口相关的3D...

    (笔记2019)斑点牛注册测绘师笔记最终电子版__法规2.9.pdf

    (笔记2019)斑点牛注册测绘师笔记最终电子版__法规2.9.pdf

    犀牛中文语言包

    【犀牛中文语言包】是针对著名的3D建模软件Rhino的一款重要组件,它使得中国用户能够更方便地使用这款强大的工具。Rhino,全称为Rhinoceros 3D,是由McNeel公司开发的专业3D造型软件,广泛应用于工业设计、建筑设计...

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x Rhinoceros犀牛6.0注册机 通用所有犀牛6.x

    犀牛,铝板,标识,展开插件

    犀牛,铝板,标识,展开插件

    Rhino犀牛模型导出skp脚本

    1.在犀牛指令栏输入:RunPythonScript 2.选择脚本:Rh2SU_LZ_beta02.py运行 3.按提示选择物件操作 4.导出为.skp文件 PS:如果要导出分别存在于多个图层的复杂模型文件,建议: 1.新建Rhino文件 2.将模型放入同一个...

    犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件

    犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮选中对象插件 犀牛高亮...

    JavaScript犀牛书电子版

    1. **基础语法**:JavaScript是一种基于原型的动态类型语言,这意味着变量在声明时不需要指定数据类型,而是根据赋值自动确定。了解变量、常量、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组和...

    犀牛 中文补丁文件

    犀牛 中文补丁 文件

    自动扶梯犀牛模型.3dm格式

    3dm格式犀牛模型

    kangaroo 犀牛插件 物理建模 力学

    在IT行业中,尤其是在建筑设计和参数化设计领域,"Kangaroo"是一款非常知名的犀牛(Rhino)插件,主要用于实现物理模拟和力学分析。这款插件是Grasshopper——一个强大的基于图形的编程环境——的一个重要组成部分。...

    rhino犀牛快捷键大全.pdf

    1. **基础操作快捷键**: - Ctrl+N:新建文档 - Ctrl+O:打开文件 - Ctrl+S:保存文件 - Ctrl+P:打印设置 - Ctrl+Z:撤销 - Ctrl+Y:重做 - Ctrl+A:选择所有物体 - Ctrl+X:剪切 - Ctrl+C:复制 - Ctrl+...

    犀牛,摩托车

    1. **Rhino(犀牛)**:Rhino全称为Rhinoceros 3D,是一款强大的三维建模软件,广泛应用于工业设计、建筑、室内设计、珠宝设计、船舶设计等领域。它以其高精度的NURBS(非均匀有理B样条)建模能力著称,能够创建、...

    犀牛建模基础教程

    犀牛建模基础教程

    犀牛6.19和犀牛7最新安装包 --

    犀牛6.19和犀牛7最新安装包, Rhino是美国Robert McNeel & Assoc开发的PC上强大的专业3D造型软件,它可以广泛地应用于三维动画制作、工业制造、科学研究以及机械设计等领域。它能轻易整合3DS MAX 与Softimage的模型...

    犀牛景观字,斜坡字展开插件

    1. **输入文字**:用户在Rhino环境中输入需要创建的文本,可以是项目名称、标语等。 2. **设置参数**:调整文字的大小、字体、角度等属性,以及与地形的适应性参数,如倾斜角度、深度等。 3. **应用插件**:选择插件...

    犀牛鞋业插件

    在3D建模行业中,Rhino因其强大的建模能力和易用性而广受赞誉,而【犀牛做鞋的插件RhinoShoe 1.1 for Rhino 4.0 Evaluation1】则是Rhino的一个扩展,特别针对鞋类设计进行了定制。这款插件能够帮助设计师快速构建...

    犀牛grasshopper mosquito插件

    1. 数据处理:提供快速操作和分析数据的工具,如排序、过滤、统计等。 2. 图形生成:可能包含生成复杂几何图形或图案的组件,以增强视觉效果。 3. 交互接口:可能有与外部程序或硬件设备交互的功能,比如读写文件、...

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x版本

    Rhinoceros犀牛6.0注册机 通用所有犀牛6.x版本

Global site tag (gtag.js) - Google Analytics