js ——>>
display:隐藏元素,不保留所占空间
visivility:隐藏元素,保留所占空间
{name:xh,year:10}:对象
[1,2,3]:数组
is精度带来的表述问题
0.3-0.2 不等于0.1
toFixed()进行四舍五入或者尝试《js精度达不到解决方法》
getDay():0为周日1为周一~6为周六
getMonth():从0计数eg:1月获取值为0,2月为1以此类推
getUTCHours():世界标准时间
lastIndexOf():字符最后出现的位置,区别与IndexOf()
算数表达式 a++的执行机制 p82译注1
var i=1;
i++ --> 1
++i -->3
i++后增量
++i前增量
===严格相等、恒等运算符
js中所有大写字母都小于小写字母,js严格区分大小写,严格按照ASCII码表排序
Evsal() :不能被赋予别名、若通过别名调用直接抛EvalError异常
通过delete删除对象不仅是设置了一个undefined值
continue:执行下一次循环
break:退出循环
在for与wile循环中有区别
while中使用continue如果不做循环变量修改会陷入死循环、因为continue后是回到while头部再次执行。而在for循环中continue后会执行增加或修改变量值。所以while循环并不能完全等价
for/in循环:更方便地遍历对象属性成员
短路算法:多用于避免错误
eg:
var a = -1, b = 2, c = -3, d = -1;
d = a+1>0 && ++b>0 && c-4>0;
结果:a=-1,b=2,c=-3.d=false
当执行到第一个‘a+1>0’是得到值fase,停止执行后面数据
从0开始的不连续数组
Array.join()将所有元素转换为字符串拼接到一起,返回最后生成的字符串
Array.reverse()将元素颠倒顺序,返回逆序数组
Array.sort()将元素排序并返回排序后的数组
Array.concat()创建并返回一个新数组
Array.slice()返回指定数组的一个片段或子数组
Array.splice()插入或删除元素
Array.push()在数组尾部添加一个或多个元素,返回数组新长度
Array.pop()在数组的尾部删除最后一个元素并返回他删除的值
Array.unshift()在数组的头部添加一个或多个元素 --与push类似
Array.shift()在数组的头部删除一个元素 --与pop类似
toLocaleString()将元素转换为字符传且使用本地化(自定义)分隔符将这些字符串连接起来。用法【https://blog.csdn.net/weixin_39749820/article/details/82869537】
eg:
var a = [1,3,5,2,4];
a.join("-");// => "1-3-5-2-4"
a.reverse();// => [4, 2, 5, 3, 1]
a.sort();// =>[1, 2, 3, 4, 5]
a.concat(6,7);// =>[1, 3, 5, 2, 4, 6, 7]
a.slice(1,3);// =>[3, 5]
a.splice(2);// =>[5, 2, 4]
a.splice(2,1);// =>[5]
var b = [];
b.push(1,2);// => [1, 2]
b.push([3,4]);// =》[1,2,[3,4]]
b.pop();// =>[1, 2] 返回 [3,4]
b.unshift(0);// =>[0, 1, 2]
b.shift();// =>[1, 2] 返回0
var c = 12345678;
c.toLocaleString();// =>12,345,678
var dates = new Date();
dates.toLoacaleString();// =>2019/12/6 下午5:27:28
...(未完待续)
slice(开始位置,结束位置)
地图:反应巨慢。。。。
pushState、replaceState:改变网址(存在跨域限制)而不刷新页面
pushState:向浏览器历史添加了一个状态(增加一个记录)
replaceState:把当前的页面的历史记录替换掉
防止事件多次触发,建议使用闭包。表单提交使用flag加锁
节流:throttle 无论点击多少次都只在固定间隔执行一次
闭包:保证私有变量不被修改和污染,与static类似
实例对象一旦创建,将自动引用prototype对象的属性和方法.
"!!"将表达式进行强制转化为bool值的运算,运算结果为true或者false。
const aa = 'xx';
const bb = !!aa; // bb输出为true
const cc = !!(NaN || undefined || null || 0 || '' ); // cc为false;
\\表转义
\\\\表’\‘