AllocatorXy

世界让我充满好奇

js中的参数传递,传值与传址

什么是形参和实参,传值和传址两种参数传递有何不同?

parameter&argument 形式参数(parameter)是函数定义时的参数; 实际参数(argument)是函数调用时实际传入的参数。 let n1 = 10; let a1 = [ 'a', 'b', 'c' ]; function test(num, arr) { num = 20; arr[1] = 'z'; console.log...

js闭包(closure)

闭包是什么?是用来做什么的?

js闭包(closure) 闭包原理:js中,子函数可以访问父函数的局部变量。 闭包是什么? 在函数内部再声明一个函数,调用父函数的局部变量,就形成了闭包。 function fn() { let i = 0; (function fn1() { // <= fn1就是闭包 console.log(i); // console: 0 ...

js封闭空间与自执行函数

封闭空间主要用来防止全局函数名污染空间

封闭空间和自执行函数 封闭空间用来防止全局函数名污染空间,该函数名仅在封闭空间内部有效; 封闭空间可以用来写自执行函数; (function print() { console.log('msg1'); })(); (function print() { // 函数名相同 alert('msg2'); })(); // console: msg1 // alert: ms...

js return一个函数会得到什么?

执行? string? function?

return function 偶然发现,js在return时,返回的是函数的情况,这个函数并没有执行; function a() { console.log('msg0'); return function () { console.log('msg1'); }; } a(); // console: msg0 用res接收a函数的返回值,发...

js数组去除重复元素

js数组去重的三种常用方式

js数组去重 去除数组中重复的元素,用js实现一般来说有三种较常用的方式。 function 1 时间复杂度O(n^2) 创建一个结果数组; 遍历数组,每次从原始数组取出一个元素与结果数组对比; 若结果数组中无该元素,将该元素存入结果数组; Array.prototype.uniq = function() { let res = [ this[0] ]; ...

我的JS笔记

我自己的js文档

javaScript string string换行 string不能直接换行,换行需要搞事情: 加号拼接 每次换行行末加\ ES6 模板字符串 正则表达式 实际就是词法分析器匹配字符。 常用匹配 /\d/ // 数字 /\w/ // 字母/数字/下划线 /\b/ // 单词边界 /\s/ // 空白 /a*/ ...

我的CSS笔记

我自己的CSS文档

CSS css选择器 标签选择器 h2{} 类选择器/class选择器 .className{} id选择器 在一个页面中 只允许出现一次相同的id #div1{} 嵌套选择器 div p span{} 群组选择器 div,p,.a1{} 通配符 * css选择器优先级 行间>id>class&...