Vue.js入门 恶补JavaScript

本文只收集在学习Vue.js的过程中遇到的基础JavaScript语法问题。

重点收集JavaScript与其他语言不同的地方,以及最常用的地方。

标识符

标识符第一个字符可以是字母、下划线(_)、美元符($)

例如,var $temp = {};  不要觉得奇怪,只是定义了一个非常普通的变量$temp而已。 2018-11-04

相等于不相等

==  !=  这两个操作符在比较之前会先将不相同的类型转换成相同的类型再比较。

=== !== 这两个操作符不会在比较之前做类型转换

值类型与引用类型

值类型是指基本类型:Undefined Null Boolean Number String

引用类型:对象类型

动态属性

对象的属性是动态的,可以随时添加属性,删除属性,添加属性的时候还可以指定这个属性将来是否可以被删除,是否可以写等等。

数据类型与拷贝

基本数据类型与引用数据类型 浅拷贝与深拷贝

https://www.cnblogs.com/dinghuihua/p/6674719.html 2018-10-26

 

 数组

1 push和pop

push()Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉:

var arr = [1, 2];
arr.push('A', 'B'); // 返回Array新的长度: 4
arr; // [1, 2, 'A', 'B']
arr.pop(); // pop()返回'B'

arr.slice(start, end=end) 返回一下新数组,不改变原有数组

arr.splice(index,howmany,item1,.....,itemx)  会改变原数组。从index开始删除howmany个元素,并用item1,....,itemx插入覆盖。如果howmany为0则不删除,只插入

arr.reverse() 颠倒数组中元素的次序,会改变原来的数组

迭代数组:

arr.filter(function(item,index,array){}) //item为遍历到的当前项,index为项的索引下标,一般只使用第一个参数返回一个新数组。

arr.map(function(item,index,array){}) //同filter,每个元素都作用在函数上,并将所有结果作为一个新数组返回。

arr.forEach(function(item,index,array){})//迭代数组的每个元素

归并

arr.reduce(function(prev, cur, index,array){}) //类似C++中的transform,将所有项作用的结果依次往后传递给下一次迭代。适合求和。

箭头函数

x => x * x

上面的箭头函数相当于:

function (x) {
    return x * x;
}

 var fun = x => x * x;

let

let是块作用域的,var是函数和全局作用域的,新标准提倡使用let来替换var.

模板占位符

本质上是字符串,但是允许插入${表达式},可以将表达式的值转成字符串

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/template_strings

export const getUserListPage = params => { return axios.get(`${base}/user/listpage`, { params: params }); };

then

执行当时可能并不一定完成,但是只要执行完成了就会到then里面执行。

var promise1 = new Promise(function(resolve, reject) {
  resolve('Success!');
});

p.then(onFulfilled[, onRejected]);

p.then((value) => {
  // fulfillment
}, (reason) => {
  // rejection
});

JavaScript浮点数精度

http://www.css88.com/archives/7324

function fmoney(s, n) {
/*
* 参数说明:
* s:要格式化的数字
* n:保留几位小数
* */
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(),
r = s.split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
}
//调用
fmoney(9.7,2);//9.70
fmoney('12345.675910', 3);//12,345.676

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值