首先说明,javascript学习这几篇文章只是为了更好的学习,它不会是一个系统的学习文章。只是记录下加深记忆,属于随笔学习笔记
1、javascript 跟JAVA是没有关系的,虽然有一些语法上的相同。
javascript是脚本语言,原名livescript,并非源自C语言,它的思想大量源自于Scheme这类函数式语言,与python有共同之处。
javascript是为了沾JAVA的光而这样命名的
2、javascript语言特性
2.1、变量是弱类型的,变量就是变量,不是某一特定类型的整数,字符串对象。给同一个变是分配不同的类型是合法的。
2.2、代码是动态解释的,javascript以文本形式保存,在程序运行时解释为机器指令。所以我们是可以看到所有ajax应用的源代码的。这同时使得通过其它代码动态生成javascript代码成为可能。
2.3、javascript函数是正常的对象
2.4、javascript对象是基于prototype。
关于javascript对象,下面再详细举例说明.
初开始看AJAX,看到javascript代码,特别是关于对象的使用的,感觉很累,应该是受java等面向对象语言的影响。javascript的语法和使用感觉很怪异,很灵活,怎么都行,不像java那么的严谨,所以才有了仔细学习javascript的文章。把心得写出来,把语言做个比较,加深对javascript的理解.
3、javascript中的对象
javascript并不一定要使用对象,可是如果我们写几百行,几千行代码的时候,有对象的使用将会方便我们组织代码,方便使用。
创建javascript对象的方法
var myObject = new Object();
myObject不包含任何的属性和方法
3.1、创建即时对象
创建即时对象的方法有两种:
1、直接使用javascript来创建对象
2、使用JSON(JavaScript Object Notation )来创建对象。
3.1.1、使用javascript语句来创建对象
myObject.shoeSize = "12";
在java中,shoeSize必须要定义一个类来声明这个属性,否则会编译出错。在javascript中,这不需要。
myObject['shoeSize'] = "12";
这样使用也可以,只是难以阅读和理解,但是可以看出javascript的数组特性。
对象动态添加函数
myObject.speakyourShoeSize = funtion(){
alert("shoe size : "+ this.shoeSize);
}
借用一个预定义的函数
function sayHello(){
alert(' hello, my shoeSize is ' + this.shoeSize);
}
myObject.sayHello = sayHello
这里借用的预定义函数不能用(),用()就会将sayhello的执行结果返回到myObject.sayHello中,这里的执行结果为null
sayHello在预定义时,this.shoeSize的作用在myObject中,会调用myObject.shoeSize
3.1.2、使用JSON创建对象
我们先看看javascript的数组特性
myObject.books = new Array();
给数组赋值
myObject. books[1] = bookone;
数组也可以一个键值来关联,就好像java的map
myobject.books["book name"] = booktwo
还可以写成一个列表在方括号内,用逗号分隔
myobject.books = [book1,book2,book3];
为了创建javascript对象,可以使用花括号,将每个值写成 键:值 对的形式
var myLibrary = {
location : "my house",
keywords : ["root","turnip","tedium"],
books : [
{title: "javascript入门",
autors: [{name:"kinglds",age:19},
{name:"lds",age:20}
]
},
{title: "ajax in action",
autors: [{name:"Dave",age:19},
{name:"Eric",age:20}
]
}
]
};
可以为使用JSON创建的对象定义成员函数
var notebook = {
weight:0.5kg
cpu:2.0g
hd:sata2 160g
displayContent:function(model){
var str = "x61 配置 :"+ this.weight+ " " + this.cpu;
alert(str);
}
}
可以为使用JSON创建的对象使用普通的javascript添加属性
myLibrary.publishinghouse = "人民邮电出版社";
同样,使用javascript创建的对象,可以用JSON扩展
var cookbook = new Object();
cookbook.payeCount = 321;
cookbook.author = {
firstNmae = "harry";
secondName: "liang";
}
以上是两种创建javascript对象的方法
分享到:
相关推荐
JavaScript对象模型(Object Model)和执行模型是理解...在实际开发中,利用原型链实现继承、通过构造函数和原型方法创建对象、以及掌握执行模型中的上下文切换和事件循环机制,都是提升JavaScript编程能力的重要步骤。
- **对象(Object)**:可以包含多个属性和方法的数据结构,是JavaScript的核心特性之一。 三、变量(Variables) 在JavaScript中,使用`var`关键字声明变量,由于它是弱类型语言,所以变量可以存储任何类型的数据...
这种特性使得JavaScript非常易于学习和使用。 2. **基于对象的语言**:JavaScript支持面向对象编程,开发者可以通过定义对象来组织代码,使程序更加模块化和可维护。 3. **简单性**:JavaScript设计简洁,语法与...
3. 实例化:通过new关键字创建对象实例,构造函数可以用来初始化实例的属性和方法。 4. 继承:JavaScript的继承是基于原型链的,一个对象可以继承另一个对象的属性和方法。还可以通过Object.create()方法实现原型...
这两部分教程详细阐述了如何使用JavaScript来选择、创建、修改和删除DOM元素,从而实现页面动态效果和交互性。 3. **面向对象编程之ECMAScript实现(推荐)** 面向对象编程是现代软件开发的重要思想,这部分内容...
立即执行函数表达式(Immediately Invoked Function Expression,IIFE)是一种用于创建即时运行的匿名函数的方法。这种方法通常用于创建局部作用域,以避免污染全局命名空间。例如: ```javascript (function() { ...
JavaScript中的对象默认是可变的,但可以通过`Object.freeze()`来创建不可变对象,尽管这只是浅层冻结。为了更深入地实现不可变性,开发者可以使用第三方库如`deep-freeze`或`Immutable.js`。 命令式编程和声明式...
函数作为一等公民,可以作为值传递,也可以用作构造函数创建对象,而函数闭包则是JavaScript中实现数据封装和模块化的重要工具,它能保留函数内部的变量状态,即使函数已经执行完毕。 JavaScript引擎的实现是通过一...
2. **基于对象**:它允许开发者使用内置的对象,如Date、Array、Document对象等,以及创建自定义对象。 3. **简单性**:语法简洁,易于学习,尤其对于初学者来说。 4. **安全性**:JavaScript运行在沙箱环境中,不能...
综上所述,通过这本《JavaScript基础教程》不仅可以学习到JavaScript的基础知识,还能深入了解其高级特性以及如何将其应用于实际项目中。对于初学者来说,这是一个很好的起点;而对于有一定经验的开发者,它也是一份...
ECMAScript是JavaScript的标准化规范,每两年发布一个新版本,带来了许多新的特性和改进。例如,ES6(ECMAScript 2015)引入了类(class)、箭头函数、模板字符串、解构赋值等,ES7(ES2016)增加了异步函数等。学习...
1. **基于对象**:JavaScript允许开发者使用内置对象,如Date、Array、String等,同时也可以创建自定义对象。这种基于对象的特性使得JavaScript在处理数据和实现复杂功能时十分灵活。 2. **事件驱动**:JavaScript...
2. **基于对象**:JavaScript允许程序员直接操作和创建对象,提供了丰富的内置对象如数组、日期等。 3. **简单性**:语法相对简单,易于学习和使用。 4. **安全性**:JavaScript代码运行在沙盒环境中,不允许对系统...