文章目录
1.Vue框架中,子组件在使用 props 接收父组件的引用数据类型参数时,如何给参数设置默认值?
2.[‘1’, ‘2’, ‘3’].map(parseInt)的值是?
2.1.简答
arr =[1,2,3].map(parseInt) =
[parseInt(1,0),parseInt(2,1),parseInt(3,2)] = [1,NaN,NaN];
2.2.回顾map语法:array.map(function(currentValue, index, arr), thisIndex)
其中:
currentValue:必须。当前元素的的值。
index:可选。当前元素的索引。
arr:可选。当前元素属于的数组对象。
thisValue:可选。对象作为该执行回调时使用,传递给函数,用作"this"的值。
2.3.分析
(1)原始数组为[1,2,3],回调函数为parseInt()方法,返回的新数组为arr;
(2)作为回调函数,parseInt()被传递了三个参数:currentValue, index, arr;
(3)parseInt(string,radix)函数可解析一个字符串,并返回一个整数,即将string解析为以radix为基准的有符号整数。其中:
string:必需。要被解析的字符串。
radix:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
如果它以 “0x” 或 “0X” 开头,将以 16 为基数。
如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
a、只有字符串中的第一个数字会被返回;
b、如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN;
(4)根据map的概念:分别对数组的每一个元素调用回调函数,则:
arr =[1,2,3].map(parseInt) =
[parseInt(1,0),parseInt(2,1),parseInt(3,2)] = [1,NaN,NaN];
其中,关于parseInt(3,2) = NaN的解释:
parseInt(string,radix) 方法规定radix的值应该大于等于2或者小于36,即介于2~36之间。
a、parseInt(3,2)满足radix介于2~36之间的条件;
b、由于radix=2是作为基数,要将字符串3转换为基数为2的整数,基数为2的数中仅包含0、1、2三个数,3不在基数为2的 数中,因此parseInt(3,2) = NaN。
3.vue项目的启动命令是?
在项目文件夹中打开终端,输入命令:
vue2:npm run dev
vue3:npm run serve
是dev还是serve取决于package.json中,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
script里面是server还是dev
4.vue中$router和$route有
什么区别?
$route对象表示当前路由信息,包含了当前URL解析得到的信息,当前的路径,参数和query
$router对象表示vueRouter实例
5.js实现深拷贝的方法有哪些?
1.Object.assign
const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };
const returnedTarget = Object.assign(target, source);
console.log(target);// expected output: Object { a: 1, b: 4, c: 5 }
console.log(returnedTarget);// expected output: Object { a: 1, b: 4, c: 5 }
2.JSON.parse和JSON.stringify
//2.json深拷贝:Json.parse(Json.stringify(obj))方式
var Alex = JSON.parse(JSON.stringify(Jack));
Alex.name = '王五';
Alex.car.name = '劳斯莱斯';
console.log(Alex, Jack);//各有各自的属性,毫不相关
3.遍历对象属性给一个新的空对象
略