javaScript第六天(1)

JavaScript基础

核心知识点

  • 对象
    • 4种创建对象的方式
    • 操作对象(取值,赋值)

今日学习目标

  • 能够使用对象方式保存数据
  • 能够理解自定义构造函数如何创建对象
  • 能够获取对象中的值及给对象赋值

对象

思考: 如何通过js函数将人的信息输出?

什么是对象?

☞现实世界: 万事万物皆对象。✔对象: 必须是一个具体的事物。 (手机,汽车不是对象,属于一类对象)◆ 对象是由 特征(名词)【属性】 和 行为(动词)【方法】☞程序中的对象: 对现实对象的抽象☞ 总结:
1. 程序中的对象:✔ 对象必须有对应的属性【描述对象的特点,在程序中一般使用名词描述】✔ 对象必须有行为动作方法 【方法用来描述具体对象的行为动作,一般方法使用动词】

对象字面量创建对象

☞ 通过字面量方式创建对象var  变量名  =  {  key: value, key: value,  key: functon () {}  };备注:1. 创建对象,必须要确定具体的事物2. 创建对象,必须要确定对象有哪些属性【特征】或者方法【动作,行为】3. 如果一次想要输出多个对象,那么可以将每一个对象放到一个数组中。☞ 访问对象属性    (对象.属性   |  对象['属性名'])
☞ 访问对象方法    (对象.方法名)注意:1、 如果通过  对象['属性名']访问对象的属性时候,必须保证使用字符串格式☞ 函数:独立存在的函数☞ 方法: 属于对象的函数(匿名函数)

课堂练习

1. 创建一个英雄对象☞ 姓名☞ 年龄☞ 职业☞ 武器装备 (weapon)☞ 爱好☞ 技能 (移动, 攻击(attack))

通过Object创建对象

var  变量  =  new Object();1. Object 是一个构造函数2. 通过new调用构造函数☞ 添加属性:对象变量.属性名 =;☞ 添加方法:
对象变量.方法名 =  function () {}

工厂方式创建对象

 1. 思考如何创建多个游戏对象?2. 例如:
function  create ( name, age, height ) {
var  Ob = new Object()Ob.name = name;Ob.age = age;Ob.height = height;Ob.eat = function () {}return Ob;
}

自定义构造函数创建对象

☞ 使用帕斯卡命名法 (每个单词首字母大写)☞ 例如:
function  CreateHero ( name, age, height ) {this.name = name;this.age = age;this.height = height;}☞ 课堂案例:1. 使用自定义构造函数方式创建3个对象,并添加到数组中 【对象基本的属性有: name, age, gender】

new 关键字执行过程

1. 在内存中创建一个空对象
2. this指向创建的对象
3. 执行函数
4. 返回当前对象注意:1. 在构造函数中,默认的返回值就是当前创建的对象

this关键字

1. 普通函数中的this     指向Window
2. 在方法中的this	   指向当前方法所属的对象
3. 在构造函数的this	  指向创建的对象
总结:构造函数谁调用函数,this就指向谁

遍历对象删除对象属性

☞ 通过   for   in  遍历 对象的成员☞ 遍历对象中的属性☞ 遍历对象中的值

对象案例

1. 通过构造函数创建3个对象,并将3个对象放到数组中,最后再将数组中每一个对象的信息输出。
备注:☞对象的信息需要从用户输入中获取

检测对象的数据类型

对象  instanceof  构造函数

对象总结

 1. 程序中的对象: 在程序中对具体事物的抽象2. 对象的基本的组成:  属性【描述对象特征特点】  |  方法 【描述对象行为动作功能】3. 创建对象方式:✔ 字面量方式var  obj = {key : 值,key : function () {}}✔ 通过构造函数var  obj = new Object();	obj.自定义属性名 =;obj.自定义方法名 = function () {}✔ 工厂模式创建对象(本质就是对第二种方式的封装,创建多个对象)function people (name) {var obj = new Object();obj.自定义属性名 = name;return obj}var zs = people('zs');✔ 自定义构造函数创建对象(确定对象的类型)function People (name) {this.自定义属性名 = name;}var zs  = new People('zs');4. 对象的基本操作✔ 获取对象的属性或方法1.  对象.自定义属性名  ||  对象['属性名']2.  对象.自定义方法名()5. 判断对象的具体类型对象名称  instanceOf  构造函数

其他扩展部分

简单数据类型在内存中的存储

  ☞ 简单数据类型(值类型) 存储在内存的 栈 上☞ Number  String   Boolean  Null Undefined☞ 分析简单数据类型在内存中的存储方式var  n1 = 10;var  n2 = n1;

复杂数据类型在内存中的存储

  ☞ 复杂数据类型(引用类型) 存储在内存的 堆 上☞  Object | Array | 函数

简单数据类型作为函数的参数在内存存储

 ☞  分析案例代码function  fn ( a, b ) {a = a+1;b = b+1;console.log( a );console.log( b );}var  x = 10var  y = 5;fn(x, y);console.log( x, y );   思考:x , y 的值是多少?

复杂数据类型作为函数的参数在内存存储

function Person ( name, age ) {this.name =  name; this.age = age;this.sayHi = function () {console.log( "你好" );}}var p1 = new Peron( "张三", 18 );function getperson ( person ) {person.name = "李四";}getperson( p1 );console.log( p1.name );   思考: p1 的name值是什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/248270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Reversing-x64Elf-100

一道很简单的小题 作为python小白这道题主要是学习了一点python知识...... 可以看出来 sub_4006FD 这个函数是用来判断输入密码是否正确的 我们看一下它的伪代码: signed __int64 __fastcall sub_4006FD(__int64 a1) {signed int i; // [rsp14h] [rbp-24h]const ch…

javaScript第六天(2)

07-javaScript基础 ☞ 函数其他部分 arguments [掌握] arguments 作用? 解决当函数的形参个数不确定的时候,通过arguments获取实参的值如何使用arguments 获取用户传递实参的值? arguments 在函数中就是用来保存实参信息的伪数组 (可以按照数组的方式去遍历, 但是不能使用数…

论wpf的设备无关性 - 简书

论wpf的设备无关性 - 简书 原文:论wpf的设备无关性 - 简书 WPF从发布之日起,一直将“分辨率无关(resolution independence)”作为其亮点,声称使用WPF制作的用户界面在轻巧的Ultra-Mobile PC的屏幕上和在50英寸的电视机上都能很好地显示。微软之所以称WPF…

暑期学习总结6

本周书面学习时间大概6小时,代码上5小时,java的基础知识已经基本都学过一遍了,剩下的就是要巩固,进行了一些实例操作,过程还算满意,类的运用已经掌握了很多,现在已经习惯了java的类定义方法&…

javaScript第七天(1)

JavaScript基础 核心知识点 Math对象中的方法数组对象中的方法字符串中的方法 今日学习目标 能够掌握Math对象中的相关方法能够掌握数组对象中的push方法能够掌握操作字符串的方法 内置对象介绍 ☞ JavaScript组成: ECMAScript | DOM | BOM ☞ ECMA…

ISLR学习笔记(2)线性回归

第三章 几种常见的线性模型 1、简单线性回归 Y≈β0β1X 2、多元线性回归 Y≈β0β1X1β2X2... 3、扩展线性回归 Y≈β0β1X1β2X2β3X1X1 克服了多元线性模型 X1X1 与 X2X2 不协同作用的假设。 4、多项式回归 Y≈β0β1X1β2X12β3log(X1)β4√X4 转载于:https://www.cnblog…

浅谈Aho-Corasick automaton(AC自动机)

Aho-Corasick automaton是什么? 要学会AC自动机,我们必须知道什么是Trie,也就是字典树。Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串&#xff…

javaScript第七天(2)

javaScript基础 ☞ 对象其他部分 [理解] 自定义构造函数创建对象[掌握] //继续简化 自定义构造函数 function People(uName, uAge) {this.uName uName;this.uAge uAge; } // 如何通过自定义构造函数创建对象? var zs new People(张三, 20); console.log(zs);注意事项: 自定…

数据挖掘、机器学习书籍推荐!!

强烈推荐:《机器学习》 (西瓜书) 入门读物: 《深入浅出数据分析》 这书挺简单的,基本的内容都涉及了,说得也比较清楚,最后谈到了R是大加分。难易程度:非常易。 《啤酒与尿布》 通过案例来说事情&#xff0c…

楼兰图腾(权值线段树)

在完成了分配任务之后,西部314来到了楼兰古城的西部。 相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。 西部314在楼兰古…

js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作 核心知识 获取页面元素事件设置样式 学习目标 能够使用id名,标签名等方式获取页面中元素能够给标签注册点击事件,并实现对应效果能够给标签通过js方式设置样式 JavaScript组成 ECMASCRIPT (基础语法) DOM(文档对…

[HZNOI #koishi] Magic

[HZNOI #514] Magic 题意 给定一个 \(n\) 个点 \(m\) 条边的有向图, 每个点有两个权值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花费把第 \(i\) 个点的 \(a_i\) 变成 \(0\). 最后每个点 \(i\) 产生的花费为所有从 \(i\) 出发能通过一条有向边直接到达的点 \(j\) 的 \(a_j\) 的 \…

同步与异步

同步: 做完一件事,再做另一件 煮好水,再拆泡面包装 异步: 可以同时做好几个任务 烧水,打开火之后,先去拆泡面包装,等水开了,再停下拆包装,去关掉火。。。。。 转载于:htt…

js(Dom+Bom)第一天(2)

webAPI 00-复习 内置对象中的方法 01-JavaScript组成 知识点-ECMASCRIPT 重点回顾 存储容器 变量数组对象 逻辑语法 分支语句循环语句switch语句 知识点-BOM 概念 Browser Object Model (浏览器器对象模型) 操作浏览器将浏览器看做是一个对象.作用 通过js操作浏览器中相…

mysql 主主复制的配置流程

1、先关闭B,把A的数据导出来,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2、关闭A,启动B,进入mysql建立一个新的数据库 create database ibprpu3、导入数据库 mysql -hlocalhost -uroot -p123456 &l…

华为架构师8年经验谈:从单体架构到微服务的服务化演进之路

本次分享的技术大纲如下: 传统应用开发面临的挑战服务化实践服务化不是银弹服务化架构的演进方向一 、传统应用开发面临的挑战 挑战1-- 研发成本高 主要体现在如下几个方面: 代码重复率高在实际项目分工时,开发都是各自负责几个功能&#xff…

轮播图制作(1)

轮播图制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此处的箭头也可以用图标做出来<a href"#" class"right">>…

StringUtils工具类的常用方法

StringUtils 方法的操作对象是 java.lang.String 类型的对象&#xff0c;是 JDK 提供的 String 类型操作方法的补充&#xff0c;并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException &#xff0c;而是做了相应处理&#xff0c;例如&#xff0c…

struts2+extjs文件上传完整实现(攻克了上传中的各种问题)

版权声明&#xff1a;本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/shanhuhau/article/details/28617999 首先须要引入上传控件 <script type"text/javascript" src"<%basePath%>/js/ext/examples/ux/fileuploadfield/FileUploa…

放大镜制作(1)

放大镜制作 <div class"box" id"box"><!--左侧的盒子--><div class"small"><!--图片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黄色小盒子--&…