JavaScript基础知识(对象、函数与对象)
2018-06-24 01:16:55来源:未知 阅读 ()
17、对象
属性:描述对象的信息 方法:描述对象的行为 封装:只关心输入和输出(不管过程如何实现)
ü 对象的分类:
内置对象(原生对象): 就是JavaScript语言预定义的对象(如String/Number)。
宿主对象: 一般由浏览器环境提供实现,主要分为 BOM 和 DOM。
自定义对象: 就是由开发人员自主创建的对象。
ü 对象的创建:
- ? 初始化器方式
var 对象名 = {
属性名 : 属性值 ,
方法名 : function( ){方法体} --- [相当于字面量定义函数的右半部分]
}
- 构造函数方式
(1)var 对象名 = new Object( ); --- new - 关键字,表示创建一个新的对象
对象名.属性名 = 属性值; --- Object - 在JavaScript中是对象的祖先
对象名.方法名 = function( ){ };
(2)自定义构造函数
- Object.create( ) 方法
(1) 必须提前存在一个对象hero1
eg: var hero2 = Object.create(hero1); ---创建的新对象具有与传递的对象相同的属性和方法
(1) 创建一个空对象
eg: var对象名= Object.create(null); hero4.name = 'zhaomin';
u 使用对象
方法一 方法二
console.log(对象名.属性名); console.log(对象名['属性名'] );
对象名.方法名( ); 对象名['方法名']( );
[注:不适用于复杂的命名方式] [注:适用于复杂的命名方式] [用法更通用]
eg: content-type: number ---编写错误
‘content-type’: number; console.log(hero.content-type); ---输出报错
将"-"解析为减法运算符; hero.content -属性获取失败; type - 不是一个变量
console.log(hero['content-type']); ---正确
附:window对象
* 是BOM中的对象,表示当前浏览器的窗口; 也是浏览器环境中最顶级的对象(全局对象)
* 定义的全局变量和全局函数,为window对象添加的属性和方法
eg: var name = 'zhao min';
var sayMe = function ( ) {
console.log('my name is zhaomin');
}
console.log(window.name);
window.sayMe( );
u 操作对象的属性和方法
2 新增对象
对象名.新的属性名 = 属性值; 对象名.新的方法名 = function( ){ };
2 修改对象
对象名.原有属性名 = 新的属性值; 对象名.原有方法名 = function( ){ };
2 删除对象
delete 对象名.属性名 delete 对象名.方法名
u 遍历(枚举)对象
只知道对象名,但不清楚属性和方法名 typeof 或instanceof;
- for…in循环:
该方法依次访问一个对象及其原型链中所有可枚举的属性。
格式:for (var A in对象名) { A---代表了对象的属性名和方法名
if (typeof hero[A] == 'function'){ 区分属性和方法 - typeof 运算符
hero[A](); --- 一定是对象的方法
} else {
console.log(hero[A]); --- 一定是对象的属性
}
结果:得到指定对象的所有属性或方法名
- Object.keys( obj ) 方法:
obj ---表示遍历的当前对象 返回值: 一个包含当前对象所有属性名和方法名的数组 eg: var a = Object.keys(hero); console.log(a); // ["name", "age", "sayMe"]
- Object.getOwnPropertyNames( object ) 方法:
该方法同上。
u 检测对象的属性或方法(即检测对象中是否存在指定属性:)
*使用 in 关键字 console.log( 'name' in fn );
使用 Object对象的 hasOwnProperty()方法 console.log( fn.hasOwnProperty( 'name' ));
使用 undefined 进行判断 console.log( fn.name = = = undefined );
使用 if 语句进行判断。 if( fn.name ){
console.log( 'name属性存在' );
}
注:调用对象不存在的的属性 ---undefined
调用对象不存在的的方法 ---输出报错 is not a function
18、函数与对象
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- javascript面向对象入门基础详细介绍 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- 如何用javascript连接access数据库 2020-03-20
- js中去掉字串左右空格 2020-03-20
- Javascript中的经典技巧 2020-03-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash