前端 js 基础对象 (3)

js 对象定义

<!DOCTYPE html>
<html>
<body><h1>JavaScript 对象创建</h1><p id="demo1"></p>=======================
<p>new</p>
<p id="demo"></p><script>
// 创建对象:
var persona = {firstName : "Bill",lastName  : "Gates",age       : 62,eyeColor  : "blue"
};// 显示对象中的数据:
document.getElementById("demo1").innerHTML =
persona.firstName + " 已经 " + persona.age + " 岁了。";//==========================var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue"; document.getElementById("demo").innerHTML =
person.firstName + " is " + person.age + " years old.";</script></body>
</html>

js 对象属性

<!DOCTYPE html>
<html>
<body><h1>JavaScript 对象属性</h1><p>访问对象属性有两种不同的方法:</p><p>您可以使用 .property 或 ["property"]。</p><p id="demo"></p>
//======================
<p id="demo1"></p><script>
var person = {firstname:"Bill",lastname:"Gates",age:62,eyecolor:"blue"
};
person.nationality = "English";  //添加数据delete person.age; //删除 age数据
//======================
document.getElementById("demo").innerHTML = person["firstname"] + " is " + person["age"] + " years old.";//======================document.getElementById("demo1").innerHTML =  " I like  " +person.eyecolor  +" My name "+ person.lastname ;
</script></body>
</html>

js 对象方法 

<!DOCTYPE html>
<html>
<body><p id="demo"></p><script>
var person = {firstName: "Bill",lastName : "Gates",id     : 678,
};
person.name = function() {return this.firstName + " " + this.lastName;
};document.getElementById("demo").innerHTML =
"My friend is " + person.name(); 
</script></body>
</html>

 js 对象显示

<!DOCTYPE html>
<html>
<body><h1>JavaScript 对象</h1><p>显示对象属性:</p>
<p id="demo1"></p><p id="demo"></p><script>
const person = {name: "Bill",age: 19,city: "Seattle"
};
document.getElementById("demo1").innerHTML = person;
document.getElementById("demo").innerHTML = person.name + ", " + person.age + ", " + person.city;
</script></body>
</html>

 

js  set  get 对象访问 

<!DOCTYPE html>
<html>
<body><h1>JavaScript Getter 和 Setter</h1><p>Getter 和 Setter 允许您通过方法获取和设置属性。</p><p>此示例使用 lang 属性设置语言属性的值。</p>========== set ==========
<p id="demo"></p>========== get ==========
<p id="demo1"></p><script>//========== set ==========
// Create an object:
var person = {firstName: "Bill",lastName : "Gates",language : "en",set lang(value) {this.language = value;}
};
// 使用 set 设置属性:
person.lang = "zh";
// 显示对象的数据:
document.getElementById("demo").innerHTML = person.language;// ========== get ==========
// 创建对象:
var person1 = {firstName: "Bill",lastName : "Gates",language : "en",get lang1() {return this.language;}
};
// 使用 getter 显示来自对象的数据:
document.getElementById("demo1").innerHTML = person1.lang1;
</script></body>
</html>

js 对象构造器

<!DOCTYPE html>
<html>
<body><h1>JavaScript 对象构造器</h1><p id="demo"></p>
//====================<p id="demo1"></p>
<script>
// Person 对象的构造器函数
function Person(firstName,lastName,age,eyeColor) {this.firstName = firstName;this.lastName = lastName;this.age = age;this.eyeColor = eyeColor;this.changeName = function (name) {this.lastName = name;}
}
// 创建 Person 对象
var myFriend = new Person("Bill","Gates",62,"green");// 修改姓氏
myFriend.changeName("Jobs");// 显示姓氏
document.getElementById("demo").innerHTML =
"My friend's last name is " + myFriend.lastName;//====================// Person 对象的构造器函数
function Person1(first, last, age, eye) {this.firstName = first;this.lastName = last;this.age = age;this.eyeColor = eye;
}// 创建两个 Person 对象
var myFriend1 = new Person1("Bill", "Gates", 62, "blue");
var myBrother1 = new Person1("Steve", "Jobs", 56, "green");// 向第一个对象添加 name 方法
myFriend1.name = function() {return this.firstName + " " + this.lastName;
};// 显示全名
document.getElementById("demo1").innerHTML =
"My friend is " + myFriend1.name(); 
</script></body>
</html>

js 可迭代对象

可迭代对象(Iterables)是可以使用 for..of 进行迭代的对象。

从技术上讲,可迭代对象必须实现 Symbol.iterator 方法。

<!DOCTYPE html>
<html>
<body><h1>JavaScript 可迭代对象</h1><p>迭代字符串:</p><p id="demo"></p>
========================<p>遍历数组:</p><p id="demo1"></p><script>
// 创建字符串
const name = "W3School";// 列出所有元素
let text = ""
for (const x of name) {text += x + "<br>";
}document.getElementById("demo").innerHTML = text;//=================
// 创建数组
const letters = ["a","b","c"];// 列出所有元素
let text1 = "";
for (const x of letters) {text1 += x + "<br>";
}document.getElementById("demo1").innerHTML = text1;
</script>
</body>
</html>

自制迭代器 

参考JavaScript 可迭代对象 (w3school.com.cn)

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 可迭代对象</h1><p>自制的可迭代对象:</p><p id="demo"></p><script>
// 自制的可迭代对象
function myNumbers() {let n = 0;return {next: function() {n += 10;return {value:n, done:false};}};
}//n.next 是向下执行一共执行了三次 返回状态是true
// 三次执行之后 第四次就变成了false // 创建可迭代对象
const n = myNumbers();
n.next(); // 10
n.next(); // 20
n.next(); // 30document.getElementById("demo").innerHTML = n.next().value;
</script>
</body>
</html>

js map

Map.size

size 属性返回 Map 中元素的数量:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Map 对象</h1>
<p>使用 Map.set():</p><p id="demo"></p>
====================
// 创建 Map
<p id="demo1"></p>==========
删除 size 属性返回 Map 中元素的数量:
<p id="demo2"></p><script>
// 创建 Map
const fruits = new Map();// 设置 Map 的值
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);document.getElementById("demo").innerHTML = fruits.get("apples");
//=========================
// 创建 Map
const fruits1 = new Map([["apples", 500],["bananas", 300],["oranges", 200]
]);document.getElementById("demo1").innerHTML = fruits1.get("apples");
//=======================
// 创建 Map
const fruits2 = new Map([["apples", 500],["bananas", 300],["oranges", 200]
]);// Delete an Element
fruits2.delete("apples");document.getElementById("demo2").innerHTML = fruits2.size;</script></body>
</html>

js  call

call() 方法是预定义的 JavaScript 方法。

它可以用来调用所有者对象作为参数的方法。

通过 call(),您能够使用属于另一个对象的方法。

本例调用 person 的 fullName 方法,并用于 person1:

<!DOCTYPE html>
<html>
<body><h1>JavaScript 函数</h1><p>此例调用 person 的 fullName 方法,在 person1 上使用它:</p><p id="demo"></p><script>
var person = {fullName: function(city, country) {return this.firstName + " " + this.lastName + "," + city + "," + country;}
}
var person1 = {firstName:"Bill",lastName: "Gates"
}
var person2 = {firstName:"Steve",lastName: "Jobs"
}
var x = person.fullName.call(person1, "Seatle", "USA"); 
document.getElementById("demo").innerHTML = x; 
</script></body>
</html>

 

js apply

 参考 JavaScript 函数 Apply (w3school.com.cn)

JavaScript apply() 方法

apply() 方法与 call() 方法非常相似

<!DOCTYPE html>
<html>
<body><h1>JavaScript 函数</h1><p>在此示例中,person 的 fulllName 方法在 person1 上<b>应用</b>:</p><p id="demo"></p><script>
var person = {fullName: function(city, country) {return this.firstName + " " + this.lastName + "," + city + "," + country;}
}
var person1 = {firstName:"Bill",lastName: "Gates"
}
var x = person.fullName.apply(person1, ["Seatle", "USA"]); 
document.getElementById("demo").innerHTML = x; 
</script></body>
</html>

 

js 闭包 

<!DOCTYPE html>
<html>
<body><h1>JavaScript 闭包</h1><p>使用局部变量计数。</p><button type="button" onclick="myFunction()">计数!</button><p id="demo">0</p><script>
var add = (function () {var counter = 0;return function () {counter += 1; return counter;}
})();function myFunction(){document.getElementById("demo").innerHTML = add();
}
</script></body>
</html>

js 类继承

 参考 JavaScript 类继承 (w3school.com.cn)

super() 方法引用父类。

通过在 constructor 方法中调用 super() 方法,我们调用了父级的 constructor 方法,获得了父级的属性和方法的访问权限。

<!DOCTYPE html>
<html>
<body><h1>JavaScript Class 继承</h1><p>请使用 "extends" 关键字从另一个类继承所有方法。</p>
<p>使用 "super" 方法调用父级的构造函数。</p><p id="demo"></p><script>
class Car {constructor(brand) {this.carname = brand;}present() {return 'I have a ' + this.carname;}
}class Model extends Car {constructor(brand, mod) {super(brand);this.model = mod;}show() {return this.present() + ', it is a ' + this.model;}
}let myCar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = myCar.show();
</script></body>
</html>

 

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

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

相关文章

数据结构与算法——符号表API设计及有序符号表设计

Java学习手册面试指南&#xff1a;https://javaxiaobear.cn 符号表最主要的目的就是将一个键和一个值联系起来&#xff0c;符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据&#xff0c;我们可以根据键来查找对应的值。 符号表中&#xff0c;键具有唯一性。 符…

Linux文件系统调用接口

文件内容属性 所有对文件的操作就是对 1.文件内容 2.文件属性。 内容是数据&#xff0c;属性也是数据&#xff0c;存储文件&#xff0c;必须既存储内容&#xff0c;也要存储属性。 文件没有被访问时&#xff0c;一般在磁盘中。对文件访问时&#xff0c;由冯诺依曼体系结构知…

媒体捕捉-拍照

引言 在项目开发中&#xff0c;从媒体库中选择图片或使用相机拍摄图片是一个极为普遍的需求。通常&#xff0c;我们使用UIImagePickerController来实现单张图片选择或启动相机拍照。整个拍照过程由UIImagePickerController内部实现&#xff0c;无需我们关心细节&#xff0c;只…

【分布式微服务专题】SpringSecurity快速入门

目录 前言阅读对象阅读导航前置知识笔记正文一、Spring Security介绍1.1 什么是Spring Security1.2 它是干什么的1.3 Spring Security和Shiro比较 二、快速开始2.1 用户认证2.1.1 设置用户名2.1.1.1 基于application.yml配置文件2.1.1.2 基于Java Config配置方式 2.1.2 设置加密…

IBM介绍?

IBM&#xff0c;全名国际商业机器公司&#xff08;International Business Machines Corporation&#xff09;&#xff0c;是一家全球知名的美国科技公司。它成立于1911年&#xff0c;总部位于美国纽约州阿蒙克市&#xff08;Armonk&#xff09;&#xff0c;是世界上最大的信息…

一起学Elasticsearch系列-Query DSL

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 微信公众号&#xff1a;Java随想录 文章目录 查询上下文相关度评分&#xff1a;scoreTF/IDF & BM25 源数据&#xff1a;source 源数据过滤全文检索match&#xff1a;匹配包含某个term的子句match_all&…

[Vulnhub靶机] DriftingBlues: 1

[Vulnhub靶机] DriftingBlues: 1靶机渗透思路及方法&#xff08;个人分享&#xff09; 靶机下载地址&#xff1a; https://download.vulnhub.com/driftingblues/driftingblues.ova 靶机地址&#xff1a;192.168.67.20 攻击机地址&#xff1a;192.168.67.3 一、信息收集 1.使…

mysql中按字段1去重,按字段2降序排序

数据举例 sql语句 按字段field4降序排序&#xff0c;按字段field1去重 SELECT tt1.name2,tt1.field1,tt1.field2,tt1.field4 from ( select tt2.name2,tt2.field1,tt2.field2,tt2.field4 from t2 tt2 ORDER BY tt2.field4 DESC ) tt1 GROUP BY tt1.field1执行结果

mysql的索引原理

目录 一、索引采用B树的优势二、为什么不使用其他数据结构2.1、哈希索引2.2平衡二叉树B树 参考 mysql索引采用B树 一、索引采用B树的优势 1可以进行范围查找&#xff0c;通过单向链表解决&#xff08;通过单向链表已经排好序&#xff09;。 2非叶子结点只存储key&#xff0c;不…

vue-vant组件库

组件库&#xff1a;第三方封装好了很多很多的组件&#xff0c;整合到一起就是一个组件库。 官网&#xff1a;Vant 2 - Mobile UI Components built on Vue vant支持vue2&#xff0c;也支持vue3&#xff1b;vant2支持vue2&#xff0c;vant3、vant4支持vue3 分类 vue的组件库…

老胡的周刊(第122期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 movie-web[2] 开源可自部署的简约在线电影搜…

ThreadLocal 是什么?它的实现原理是什么?

文章目录 ThreadLocal 是什么&#xff1f;它的实现原理是什么&#xff1f; ThreadLocal 是什么&#xff1f;它的实现原理是什么&#xff1f; ThreadLocal 是一种线程隔离机制&#xff0c;它提供了多线程环境下对于共享变量访问的安全性。 在多线程访问共享变量的场景中&#…

Android 跨进程之间通信(IPC)方式之BroadcastReceiver

Android 跨进程之间通信 Android 跨进程之间通信(IPC)方式之BroadcastReceiverAndroid 跨进程之间通信(IPC)方式之ContentProvider 文章目录 Android 跨进程之间通信前言一、关于系统广播二、如何利用BroadcastReceiver跨进程通信1.创建广播接收器2.清单文件中声明注册3.发送广…

论数据资源持有权(下)

四、数据资源持有权&#xff1a;数据流通体系与秩序运行的支柱 现代数字经济背景下的数据要素市场&#xff0c;主要是在动态的流通中实现数据财产价值&#xff0c;在明确数据资源持有权作为构建数据流通中的新型数据财产产权的基石后&#xff0c;就应该充分围绕数据资源持有权…

微信小程序开发系列-11组件间通信02

微信小程序开发系列目录 《微信小程序开发系列-01创建一个最小的小程序项目》 《微信小程序开发系列-02注册小程序》 《微信小程序开发系列-03全局配置中的“window”和“tabBar”》 《微信小程序开发系列-04获取用户图像和昵称》 《微信小程序开发系列-05登录小程序》 《…

【算法】哈希算法和哈希表

一、哈希算法 哈希算法是一种将任意长度的数据&#xff08;也称为“消息”&#xff09;转换为固定长度字符串&#xff08;也称为“哈希值”或简称“哈希”&#xff09;的数学函数或算法。这个固定长度的字符串是由输入数据通过一系列的运算得到的&#xff0c;并且具有一些重要…

算法通关村第二十关-白银挑战图的存储与遍历

大家好我是苏麟, 今天继续聊图 . 与前面的链表、树等相比&#xff0c;图的存储和遍历要复杂非常多 .所以理解就好 , 面试基本不会让写代码的 . 图的类型多、表示方式多&#xff0c;相关算法也很多&#xff0c;实现又过于复杂&#xff0c;多语言实现难度太大了。这些算法一般理…

C语言之scanf浅析

前言&#xff1a; 当有了变量&#xff0c;我们需要给变量输入值就可以使用scanf函数&#xff0c;如果需要将变量的值输出在屏幕上的时候可以使用printf函数&#xff0c;如&#xff1a; #include <stdio.h> int main() {int score 0;printf("请输⼊成绩:");sc…

软件工程总复习笔记

软件工程课程复习提纲 文章目录 软件工程课程复习提纲一、基本知识点1. 软件工程的概念及目标2. 软件危机的概念及典型表现3. 瀑布模型的概念及特点4. 快速原型模型的特点5. 螺旋模型的基本思想6. 软件生命周期的概念及划分为哪几个阶段7. 软件需求的定义8. 常见的软件需求获取…

Java位运算及移位运算

java中能表示整数数据类型的有byte、short、char、int、long&#xff0c;在计算机中占用的空间使用字节描述&#xff0c;1个字节使用8位二进制表示。 数据类型字节数二进制位数表示范围默认值byte18-27 – 27-10char2160 – 216-1\u0000 (代表字符为空 转成int就是0)short216-…