前端 js 基础对象 (3)

news2024/12/22 4:08:44

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(); // 30

document.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.coloradmin.cn/o/1351044.html

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

相关文章

58.网游逆向分析与插件开发-游戏增加自动化助手接口-游戏菜单文字资源读取的逆向分析

内容来源于&#xff1a;易道云信息技术研究院VIP课 之前的内容&#xff1a;接管游戏的自动药水设定功能-CSDN博客 码云地址&#xff08;master分支&#xff09;&#xff1a;https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号&#xff1a;34b9c1d43b512d0b4a3c395b…

gorm.PrepareStmt模式使用不当问题查询

一、背景 xx服务内存持续上涨。内存占用10%以内&#xff0c;在QPS无明显变化的前提下&#xff0c;内存占用50%左右。 dump了一下heap内存&#xff0c;发现主要是 InitUserCacheRefresh 任务代码占用 正常来说&#xff0c;dao层查完数据库之后&#xff0c;对象应该会释放&…

Python序列之字典

系列文章目录 Python序列之列表Python序列之元组Python序列之字典&#xff08;本篇文章&#xff09;Python序列之集合 Python序列之字典 系列文章目录前言一、字典是什么&#xff1f;二、字典的操作1.创建&#xff08;1&#xff09;通过{}、dict()创建&#xff08;2&#xff0…

实验室(检验科)信息系统LIS源码,客户端:WPF+Windows Forms

lis系统源码&#xff0c;医学检验信息系统源码 LIS系统&#xff08;Laboratory Information System&#xff09;即实验室&#xff08;检验科&#xff09;信息系统&#xff0c;它将检验仪器付出的检验数据与相关信息接入计算机网络系统中&#xff0c;让患者、实验室、临床科室、…

进入IC行业的学习之路:建议和必读书籍推荐

近期有不少渴望进入IC行业的同学在后台给我留言&#xff0c;他们询问如何入门&#xff1f;需要学习哪些内容&#xff1f;推荐的入门必读书籍。 在这个行业已经有些年头了&#xff0c;多多少少有一些经验之谈&#xff0c;今天在这里&#xff0c;我将以我的经验和专业知识为基础…

软件测试之自动化测试的四个阶段

第一阶段&#xff1a;API自动化 之前的想法是&#xff1a;通过API创建数据&#xff0c;访问数据&#xff0c;进行数据操作&#xff0c;存储数据库&#xff0c;通过模拟前端的操作来想象API的访问流程。 然后&#xff0c;验证数据库是否存储正确。后来发现该想法流程就是错误的…

IO作业2.0

思维导图 1> 使用fread、fwrite完成两个文件的拷贝 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {if(argc ! 3) //判断外部参数 {printf("The terminal format is incorrect\n");r…

刚来实习就跑路,可行么?

最近 编程导航 的一位鱼友问了个让我血压升高的问题&#xff1a; 鱼友提问 鱼皮你好&#xff0c;我投了两周简历&#xff0c;然后昨天面了一个小厂的远程实习并且拿到了 offer&#xff0c;我要不要试试呢&#xff1f; 我在顾虑比如我如果在远程实习期间找到一个中厂或者大厂…

GPT-4在概念推理任务表现不如人类,还需继续学习提高!

圣达菲研究所的科研人员对 GPT-4在推理和抽象能力方面与人类的差距进行了定量研究。他们使用 ConceptARC 基准测试评估了 GPT-4在文本和多模态方面的表现&#xff0c;并发现 GPT-4仍然与人类存在较大差距。对于 GPT-4的抽象推理能力&#xff0c;研究人员发现&#xff0c;无论是…

浏览器---善用的一些调试技巧

https://www.cnblogs.com/dasusu/p/17932742.html

初识Linux下进程

&#x1f30e;初识进程 初识进程 简单认识一下进程 如何管理进程 进程属性信息 内核运行队列 查看进程 通过系统调用获取进程标识符       父子进程       查看运行中的进程 总结 前言&#xff1a; 我们在电脑上点开的一个个应用&#xff0c;其实就是一个个进程&am…

计算机网络(7):网络安全

网络安全问题 计算机网络上的通信面临以下的四种威胁: (1)截获(interception)攻击者从网络上窃听他人的通信内容。 (2)中断(interruption)攻击者有意中断他人在网络上的通信。 (3)篡改(modification)攻击者故意篡改网络上传送的报文。 (4)伪造(fabrication)攻击者伪造信息在网…

DrGraph原理示教 - OpenCV 4 功能 - 阈值

普通阈值 OpenCV中的阈值用于相对于提供的阈值分配像素值。在阈值处理中&#xff0c;将每个像素值与阈值进行比较&#xff0c;如果像素值小于阈值则设置为0&#xff0c;否则设置为最大值&#xff08;一般为255&#xff09;。 在OpenCV中&#xff0c;有多种阈值类型可供选择&am…

融资项目——异常处理

当前端请求后端服务的时候&#xff0c;如果后端出现bug。会返回给前端通用的500异常结果。 但是在项目开发中&#xff0c;我们一般会定义一个统一结果类R用于返回结果数据&#xff0c;所以我们希望将错误也用统一结果类对象返回给前端。 1. 同一异常处理器。 面对一般的错误&…

二维码地址门牌系统技术服务:让您的生活更便捷,一码通行,安全无忧

文章目录 前言一、融合二维码技术与门牌的便捷服务二、手机开门便捷功能三、智能化安全保障四、智能化、便捷化的新型技术 前言 在数字化时代&#xff0c;二维码门牌系统技术应运而生&#xff0c;为了满足人们对安全、便捷生活的需求。这项技术将二维码与门牌结合&#xff0c;…

关于各种浏览器或操作系统深色模式的设置,看这篇文章就够了

无论你是在家里设立办公室,还是带着笔记本电脑去当地的咖啡馆,或者在格子间度过一天,都可以通过在网络浏览器中启用深色模式来让你的眼睛休息一下。 深色模式不会改变你访问的页面的颜色(这是由网站开发者设置的);它将使工具栏和“设置”页面更容易查看,尤其是在冬季较…

centos7通过systemctl启动springboot服务代替java -jar方式启动

背景&#xff1a;以前启动jar包都是通过java -jar&#xff0c;后面了解到一种注册服务式启动jar包的方式&#xff0c;所以做个记录。 注意&#xff1a;我在写该篇博客的时候&#xff0c;给脚本代码都加了#注释来解释该行脚本命令的意思&#xff0c;所以可能出现复制该篇博客脚本…

gookit/color - Go语言命令行色彩使用库教程

gookit/color - Go语言命令行色彩使用库教程 1.安装2.基础颜色(16-color)3.256色彩/RGB风格 1.安装 go get github.com/gookit/color2.基础颜色(16-color) 提供通用的API方法&#xff1a;Print Printf Println Sprint Sprintf 1、例如&#xff1a; color.Yellow.Println(&q…

Elasticsearch:使用 ELSER v2 文本扩展进行语义搜索

Elastic 提供了一个强大的 ELSER 供我们进行语义搜索。ELSER 是一种稀疏向量的搜索方法。我们无需对它做任何的微调及训练。它是一种 out-of-domain 的模型。目前它仅对英文进行支持。希望将来它能对其它的语言支持的更好。更多关于 ELSER 的知识&#xff0c;请参阅文章 “Elas…

关键字:new关键字

在 Java 中&#xff0c;new关键字用于创建对象实例。它是对象创建的语法糖&#xff0c;用于分配内存空间并调用构造函数来初始化对象。 以下是new关键字的基本语法&#xff1a; 在上述语法中&#xff0c;ObjectType是要创建对象的类名&#xff0c;objectName是对象的引用变量…