function
var exam = {}
console.log(exam)
exam = {
title: "数学测验",
score: 95,
student: "Tea",
nickname: ["茶", "抹茶"],
notify: function () {
alert(exam.student + "考了" + exam.score + "分!")
}
}
console.log(exam.notify) // 没加小括号(),只会印出 function 物件
/*
ƒ () {
alert(exam.student + "考了" + exam.score + "分!")
}
*/
exam.notify()
var score = {
math: 95,
english: 80,
chinese: 77,
avg: function () {
var total = score.math + score.english + score.chinese
return total / 3
}
}
console.log(score.avg())
var scores = [
{student: "Jason", score: 95},
{student: "Tom", score: 90},
{student: "Kate", score: 88},
]
console.log(scores[2].student + "考了" + scores[2].score + "分");
for
for(var i = 0; i < 10; i++){
console.log(i);
}
var scores = [
{student: "Jason", score: 95},
{student: "Tom", score: 90},
{student: "Kate", score: 88},
]
for(i = 0; i < scores.length; i++){
console.log("学生:", scores[i].student + "考了" , scores[i].score,"分")
}
存放Key
、Value
宣告时要用new
正确用法
var m = new Map();
m.set("name","Tea"); // 新增资料到Key中
console.log(m)
m.set("name","Pencil"); // 同样的Key後面覆盖前面
console.log(m)
console.log(m.has('name')); // true
console.log(m.get('name')); // Pencil
以下为在其他语言中看似正确,在JS里却是 错误的Map用法
(虽然可以用,但与上面的get、has就像两个世界一样毫无相干)
刚从其他语言转过来时,觉得错误用法超级合理的。
var m = new Map();
m['name'] = "Tea";
m['name'] = "Pencil";
console.log(m['name']);
不过稍微看了一下,这错误的map用法是属於Object
物件的属性原生用法,
也许设计当初是怕与这搞混淆才区别开来吧。
var m = Object();
m['name'] = "123"
console.log(m['name']);
错误用法的Key、Value会跑到属性栏位去
也许这段程序码(在Chrome console上的输出),能较容易理解两者区别:
var m = new Map();
m['name1'] = "Tea";
m['name2'] = "Pencil";
console.log("错误用法:")
console.log(m);
m.set("name1","Tea");
m.set("name2","Pencil");
console.log("加上了正确用法:")
console.log(m)
七种迭代map的写法
var m = new Map();
m.set("name1","Tea");
console.log(m)
m.set("name2","Pencil");
console.log(m)
console.log(m.size); // 2
console.log(m.keys()); // {"name1", "name2"}
for (var key of m.keys()){
console.log(key);
}
for (var value of m.values()){
console.log(value);
}
for (var [key, value] of m){
console.log(key, value);
}
for (var [key, value] of m.entries()){
console.log(key, value);
}
// 以上四种for回圈,以下三种forEach
m.forEach(function (value){
console.log(value);
})
m.forEach(function (value, key){
console.log(value, key);
})
m.forEach(function (value, key, map){
console.log(value, key, map);
})
<<: D24 - 彭彭的课程# Python 网路连线程序、公开资料串接(2)
工作需求每次都被上传/下载档案搞得很烦 每次用完然後每次就忘记 刚好发一篇整理起来,以後有机会可以用...
Aloha!又是我少女人妻 Uerica!今天我家狗狗总算没有一大早叫我起床了,可能之前累爆昨夜一路...
大家好,我是乌木白,今天是铁人赛最後一天,谢谢大家在这些天不管是无意或是有意的点进来参观,都非常感...
tags: 铁人赛 AWS Outposts EKS Kubernetes 前情提要 昨天稍微提及了...
0x1 前言 之前都是建立付款方式为 ATM 的订单,另一个信用卡的流程都没跑过,今天就是要来跑一下...