JavaScript基础知识(对象、函数与对象)
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 操作对象的属性和方法
² 新增对象
对象名.新的属性名 = 属性值; 对象名.新的方法名 = function( ){ };
² 修改对象
对象名.原有属性名 = 新的属性值; 对象名.原有方法名 = function( ){ };
² 删除对象
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、函数与对象
JavaScript基础知识(对象、函数与对象)的更多相关文章
- JavaScript基础知识(函数)
函数的基础 函数: 把实现相同功能的代码放到一个函数体中,当想实现这个功能时,直接执行这个函数即可:减少了的冗余:高内聚,低耦合--> 函数的封装: 函数:引用数据类型: var a = 10; ...
- 前端学习 第二弹: JavaScript中的一些函数与对象(1)
前端学习 第二弹: JavaScript中的一些函数与对象(1) 1.apply与call函数 每个函数都包含两个非继承而来的方法:apply()和call(). 他们的用途相同,都是在特定的作用域中 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)
函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) { return i1 + i2;//如果不写return返回 ...
- JavaScript基础知识(JSON、Function对象、原型、引用类型)
19.JSON 概念:JavaScript 对象表示法(JavaScript Object Notation),是一种轻量级的数据交换格式 特点:易于程序员编写和查看:易于计算机解析和生成 数据结构 ...
- 林大妈的JavaScript基础知识(三):JavaScript编程(1)对象
1. 对象的简单介绍与一些注意事项 JavaScript中具有几个简单数据类型:数字.字符串.布尔值.null值以及undefined值.除此之外其余所有值(包括数组.函数,甚至正则表达式)都是对象. ...
随机推荐
- maven project module 依赖项目创建 ---转
一.创建Maven Project 1.右击 --> New --> Other,--> Maven --> Maven Project --> Next 2.如下图,选 ...
- 如何修改maven默认仓库(即repository)的路径
如何修改maven默认仓库(即repository)的路径 1 在maven的安装目录下,修改Eclipse(或IntelliJ IDEA)的MAVEN的存储位置,点击Browser按钮,选择set ...
- InfluxDb中写入重复数据问题解决方案
1.InfluxDb版本 0.10.3 2.Measurement TodayChargeTimeReport 只有time和Field列,没有Tag列 3.现象:通过定时任务向上面的表中写入数据: ...
- C#设计模式之二十二访问者模式(Visitor Pattern)【行为型】
一.引言 今天我们开始讲"行为型"设计模式的第九个模式,该模式是[访问者模式],英文名称是:Visitor Pattern.如果按老规矩,先从名称上来看看这个模式,我根本不能获 ...
- laravel基本信息
1.Bundle是Laravel的扩展包组织形式或称呼.Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中.你可以选择下载一个扩展包(bundle)然后 ...
- iOS MJRefresh上拉加载更多
1.导入MJRefresh包 2.在类中引入:#import "MJRefresh.h" 3.添加footerView 添加加载更多的UI样式: MJRefreshAutoNorm ...
- 简单介绍什么是协程及其在ES6中的实现方式
协程,英文名coroutine,是一种执行过程可以被暂停和恢复的方法.各个协程之间相互协作完成一个任务. 让我们来看一个关于发挥协程作用的例子.假定我们有一个生产者和消费者的关系,生产者创建物品并将物 ...
- 模板引擎(smarty)知识点总结
首先我们必须知道使用smarty的流程 1.引入 2.实例化 3.配置 模板目录 编译目录 3.0版本 支持不存在的目录则新建 4.赋值 5.编译显示 某个模板文件(暗示需要哪 ...
- vue基础入门
Hello World <body> <!-- 在angularJS中用ng-model --> <!-- {{mseeage?message:11}}支持三元表达式 ...
- Golang 网络爬虫框架gocolly/colly 一
Golang 网络爬虫框架gocolly/colly 一 gocolly是用go实现的网络爬虫框架,目前在github上具有3400+星,名列go版爬虫程序榜首.gocolly快速优雅,在单核上每秒可 ...