美文网首页
JS、NodeJS 笔记【记录开发中遇到的问题】

JS、NodeJS 笔记【记录开发中遇到的问题】

作者: Hamiltonian | 来源:发表于2023-01-20 19:57 被阅读0次

JS、NodeJS 笔记【记录开发中遇到的问题】

A.JSON序列号&反序列化

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<h2>为 JSON 字符串创建对象</h2>
<p id="demo"></p>
<script>
var text = '{ "sites" : [' +
    '{ "name":"Runoob" , "url":"www.runoob.com" },' +
    '{ "name":"Google" , "url":"www.google.com" },' +
    '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

obj = JSON.parse(text);
str = JSON.stringify(obj);
document.write(obj);
document.write(str);
    </script>

</body>
</html>

B.JS中 Object 与 Map 的区别

1.在很多时候,我们都把Object当成Map来使用
2.Object 只能使用字符串类型(现在还有Symbol)的值作为键,如下
3.Map 可以使用任意类型的值作为键,如下
4.遍历取值方法如下:
    const obj = {"key":"value"}
    const map = new Map();
    map.set("key","value");
    //map取值
    map.get("key");
    //obj取值
    obj["key"];
    obj.key;
    for (let k in obj) {
    console.log(k)
    }
    Object.values(obj);
    Object.keys(obj);
    Object.entries(obj);

C.js中的几种操作添加Array数组元素的方法

1. 使用 length 属性追加元素
使用length属性,可以在数组末尾后面添加一个元素

var arr = [1, 2, 3, 4, 5];
arr[length] = 6;
console.log(arr); // [1, 2, 3, 4, 5, 6];

2. 使用 push 方法追加元素
push()方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度

var arr = [1, 2, 3, 4, 5];
arr.push(6);
console.log(arr); // [1, 2, 3, 4, 5, 6];

3. 使用 unshift 方法在数组的第一项前插入一个元素
unshift()方法将一个或多个元素添加到数组的开头,并返回该数组的新长度

var arr = [1, 2, 3, 4, 5];
arr.unshift (6);
console.log(arr); // [6, 1, 2, 3, 4, 5];

4. 使用 splice 方法插入一个元素
splice()方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容

var arr = [1, 2, 3, 4, 5];
arr.splice(5, 0, 6);
console.log(arr); // [1, 2, 3, 4, 5, 6];

5. 使用 concat 方法合并元素
concat()方法用于将一个数组或值合并至一个数组中,该方法不会改变原数组

var arr = [1, 2, 3, 4, 5];
var newArr = arr.concat(6);
console.log(newArr); // [1, 2, 3, 4, 5, 6];

6. 使用 … 扩展运算符合并元素
展开语法...: 可以在数组构造时, 将数组表达式在语法层面展开

var arr = [1, 2, 3, 4, 5];
arr = [...arr, 6];
console.log(arr); // [1, 2, 3, 4, 5, 6];

7.map()方法

let arr = [1, 2, 3, 4]
let newArr = arr.map((item)=>{
                     return item * 2;
                })
console.log(newArr)   // [2, 4, 6, 8]
console.log(arr)  // [1, 2, 3, 4]

D.JavaScript 拥有动态类型

typeof "John"                // 返回 string
typeof 3.14                  // 返回 number
typeof false                 // 返回 boolean
typeof [1,2,3,4]             // 返回 object
typeof {name:'John', age:34} // 返回 object

F.什么是箭头函数?

箭头函数允许我们用更短的语法定义函数。箭头函数可用于替代传统函数function() {}。

语法
允许写的函数,在2号取为参数a和b,然后返回的总和。

作为常规功能:

function sum(a, b) {
   return a + b
}

现在,作为箭头函数:

const sum = (a, b) => a + b

const users = [
   {
      name: "John",
      age: 24
   },
   {
      name: "Jane",
      age: 32
   },
   {
      name: "Blake",
      age: 12
   }
]

const adults = users.filter((adults) => {return adults.age > 18});
const adults2 = users.filter(adults =>  adults.age > 18);
console.log(adults);
console.log(adults2);

G.JavaScript 类型转换

Number(false)     // 返回 0
Number(true)      // 返回 1
String(x)         // 将变量 x 转换为字符串并返回
String(123)       // 将数字 123 转换为字符串并返回
String(100 + 23)  // 将数字表达式转换为字符串并返回

H.debugger 关键字

debugger 关键字用于停止执行 JavaScript,并调用调试函数。
这个关键字与在调试工具中设置断点的效果是一样的。
var x = 15 * 5;
debugger;
document.getElementbyId("demo").innerHTML = x;

I.JavaScript 类型转换

var x = "000";
document.getElementById("demo").innerHTML =
"Number : " + Number(x) + "<br>" +
"String : " + String(x) + "<br>" +
"Boolean: " + Boolean(x);

J.转义序列就是字符的一种表示方式(映射)。由于各种原因,很多字符无法直接在代码中输入或输出,只能通过转义序列间接表示。

序列  代表字符
\0  Null字符(\u0000)
\b  退格符(\u0008)
\t  水平制表符(\u0009)
\n  换行符(\u000A)
\v  垂直制表符(\u000B)
\f  换页符(\u000C)
\r  回车符(\u000D)
\"  双引号(\u0022)
\'  撇号或单引号(\u0027)
\\  反斜杠(\u005C)
\xXX    由 2 位十六进制数值 XX 指定的 Latin-1 字符
\uXXXX  由 4 位十六进制数值 XXXX 指定的 Unicode 字符
\XXX    由 1~3 位八进制数值(000 到 377)指定的 Latin-1 字符,可表示 256个 字符。如 \251 表示版本符号。注意,ECMAScript 3.0 不支持,考虑到兼容性不建议使用。

相关文章

网友评论

      本文标题:JS、NodeJS 笔记【记录开发中遇到的问题】

      本文链接:https://www.haomeiwen.com/subject/cnmchdtx.html