JS 杂项
#1.
+"1"
1
!!1
true
!!0
false
text="aaaa1111"
Array [ "", "1111" ]
"aaaa1111"
pattern=/\d+/g//
/\d+/g
text.search(pattern)
4
text.match(pattern)
Array [ "1111" ]
text.replace(pattern,"2222")
"aaaa2222"
text.split(/\D+/)
0!==0
false
null!=undefined
false
null!==undefined
true
null==undefined
true
null===undefined
false
false
null!=undefined
false
null!==undefined
true
null==undefined
true
null===undefined
false
var s="1111";
function f(){
console.log(s)
var s='2222'
console.log(s)
}
function f(){
console.log(s)
var s='2222'
console.log(s)
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
var fn = null;
function f(e, t) {
var r, n;
r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
n = {
rotl: function (e, t) {
debugger
return e << t | e >>> 32 - t
},
rotr: function (e, t) {
return e << 32 - t | e >>> t
},
endian: function (e) {
if (e.constructor == Number)
return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24);
for (var t = 0; t < e.length; t++)
e[t] = n.endian(e[t]);
return e
},
randomBytes: function (e) {
for (var t = []; e > 0; e--)
t.push(Math.floor(256 * Math.random()));
return t
},
bytesToWords: function (e) {
for (var t = [], r = 0, n = 0; r < e.length; r++,
n += 8)
t[n >>> 5] |= e[r] << 24 - n % 32;
return t
},
wordsToBytes: function (e) {
for (var t = [], r = 0; r < 32 * e.length; r += 8)
t.push(e[r >>> 5] >>> 24 - r % 32 & 255);
return t
},
bytesToHex: function (e) {
for (var t = [], r = 0; r < e.length; r++)
t.push((e[r] >>> 4).toString(16)),
t.push((15 & e[r]).toString(16));
return t.join("")
},
hexToBytes: function (e) {
for (var t = [], r = 0; r < e.length; r += 2)
t.push(parseInt(e.substr(r, 2), 16));
return t
},
bytesToBase64: function (e) {
for (var t = [], n = 0; n < e.length; n += 3)
for (var a = e[n] << 16 | e[n + 1] << 8 | e[n + 2], i = 0; i < 4; i++)
8 * n + 6 * i <= 8 * e.length ? t.push(r.charAt(a >>> 6 * (3 - i) & 63)) : t.push("=");
return t.join("")
}
}
debugger
fn = n.rotl;
}
f();
fn(1,2);
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<script>
var fn = null;
function f(e, t) {
var r, n;
r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
n = {
rotl: function (e, t) {
debugger
return e << t | e >>> 32 - t
},
rotr: function (e, t) {
return e << 32 - t | e >>> t
},
endian: function (e) {
if (e.constructor == Number)
return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24);
for (var t = 0; t < e.length; t++)
e[t] = n.endian(e[t]);
return e
},
randomBytes: function (e) {
for (var t = []; e > 0; e--)
t.push(Math.floor(256 * Math.random()));
return t
},
bytesToWords: function (e) {
for (var t = [], r = 0, n = 0; r < e.length; r++,
n += 8)
t[n >>> 5] |= e[r] << 24 - n % 32;
return t
},
wordsToBytes: function (e) {
for (var t = [], r = 0; r < 32 * e.length; r += 8)
t.push(e[r >>> 5] >>> 24 - r % 32 & 255);
return t
},
bytesToHex: function (e) {
for (var t = [], r = 0; r < e.length; r++)
t.push((e[r] >>> 4).toString(16)),
t.push((15 & e[r]).toString(16));
return t.join("")
},
hexToBytes: function (e) {
for (var t = [], r = 0; r < e.length; r += 2)
t.push(parseInt(e.substr(r, 2), 16));
return t
},
bytesToBase64: function (e) {
for (var t = [], n = 0; n < e.length; n += 3)
for (var a = e[n] << 16 | e[n + 1] << 8 | e[n + 2], i = 0; i < 4; i++)
8 * n + 6 * i <= 8 * e.length ? t.push(r.charAt(a >>> 6 * (3 - i) & 63)) : t.push("=");
return t.join("")
}
}
debugger
fn = n.rotl;
}
f();
fn(1,2);
</script>
</body>
</html>

浙公网安备 33010602011771号