js
雪爪鸿泥
好好学习,天天向上
展开
-
Mac系统下载git踩坑-homebrew安装失败以及git clone失败的问题
homebrew安装失败首先要下载 安装homebrew。踩坑一:官方文档给出的代码:/bin/bash -c "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install.sh)"直接在终端中运行会报错,解决方法:配置hosts文件,目录在 /private/etc/hostshttps://www.ipaddress.com 在这个网站中查找 raw.githubusercontent.com 的IP地址原创 2021-03-19 10:18:16 · 1847 阅读 · 0 评论 -
js 中计算数组的维度
例如:计算:[1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]] 的维度function arrs(arr) { let j = 1; for (let i in arr) { if (arr[i] instanceof Array) { if (1 + arrs(arr[i]) > j) { j = j + arrs(arr[i]) }原创 2021-03-02 21:13:33 · 1037 阅读 · 1 评论 -
多维数组求和问题
写一段JS代码,对给定的一个嵌套数组中的数字进行求和,例如:[1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]],返回 91;var arr = [1, [2, 3], [4, [5, true, 6], 7], '1a', 8, 9, [10, [11, [12, 13, null]]]];function sumArr(arr) { var sum = 0 arr.forEach(item =&原创 2021-03-02 21:04:39 · 627 阅读 · 0 评论 -
js中的 hasOwnProperty 方法
Object 中有一个方法,hasOwnProperty(),返回一个布尔值,判断对象是否包含特定的自身(非继承)属性。判断对象自身属性是否存在var obj = new Object();obj.name= 'zs';function changeObj() { obj.newName = obj.name; delete obj.name;}obj.hasOwnProperty('name'); // truechangeObj();obj.hasOwnProperty('原创 2021-01-07 15:57:39 · 5630 阅读 · 2 评论 -
setTimeout 和 Event Loop
我记得有一次面试的时候,面试官问道,setTimeout 的用法,现在就来总结一下。setTimeout 的基本用法setTimeout(fn,delay)一般情况下,setTimeout函数接收两个参数,第一个参数fn是将要推迟执行的函数名或者是一段代码,第二个参数 delay 是推迟执行的毫秒数。例如:setTimeout('console.log(1)',1000);setTimeout(function(){console.log(2)},1000);如果直接在 setTimeou原创 2020-12-24 16:17:23 · 239 阅读 · 0 评论 -
js创建对象:工厂模式和自定义构造函数的区别和联系
工厂模式function createObject(name,age){ var obj = new Object(); obj.name = name; obj.age = age; obj.sayHi = function(){ console.log("您好,我是工厂模式"); } return obj;}自定义构造函数function Person(name,age){ this.name = name; this.age = age; this.sayHi = fu原创 2020-12-23 16:46:14 · 201 阅读 · 0 评论 -
HTTP -- 端口和 URL,以及获取 URL 参数值
端口:计算机本身就是一个封闭的环境,就像是一栋大楼,如果需要数据通信往来,必须有门,这个门在术语中就叫做端口。每一个端口都有一个端口号,每台计算机只有65536个端口(0 - 65535)。可以通过命令行中运行:netstat -an 命令来监视本机端口使用情况:URL:例如:https://zce.me:80/schools/students?id=18&name=zce#photohttps:协议zce.me:80 host主机80 端口/schools/students 请原创 2020-12-22 11:14:16 · 465 阅读 · 0 评论 -
使用 json-server 搭建本地数据接口
全局安装 json-servernpm i -g json-server检查json-server 是否安装成功json-server -h新建 json 文件新建一个 data.json的文件{ "items": [ { "id": 1, "name": "周瑜" }, { "id": 2, "name": "黄盖" }, { "id": 3, "name": "黄忠"原创 2020-11-09 10:48:14 · 112 阅读 · 0 评论 -
每天一道面试题 --- js事件代理和冒泡
Q:解释一下事件代理。A:当我们需要对很多事件添加事件的时候,可以通过将事件添加到他们的父节点而将事件委托给父节点来触发处理函数,这主要得益于浏览器的事件冒泡机制。 var delegate = function(client, clientMethod) { return function() { return clientMethod.apply(client, arguments); } } var agentMethod = delegat原创 2020-11-02 18:13:24 · 289 阅读 · 0 评论 -
每日一道面试题 --- js 中的 length 属性
length 属性可设置或返回数组中元素的数目。第一题var arr = [];arr[0] = 'a';arr[1] = 'b';arr.foo = 'c';arr.name = "zs"alert(arr.length); // arr = ["a", "b", foo: "c", name: "zs"]123undefined答案:2解析:数组的原型是 Object,所以可以像其他类型一样增加属性,但是不影响其固有性质。arr.foo 和 arr.name 不算在原创 2020-10-28 10:30:44 · 299 阅读 · 0 评论 -
将字符串中的一个或者多个英文逗号、中文逗号、顿号、空格都替换为一个英文逗号,然后将替换后的字符串再转为数组
字符串中一个或者多个中文逗号、顿号,空格、英文逗号替换为一个英文逗号,然后将替换后的字符串转为数组// 原始的字符串包含很多符号var_remark = "1111,,,,2、、、3,,,,,, "// 这一步是将其他的符号转换为一个英文逗号逗号,。var _remark1 =_remark.replace(/[\r\n]/g,",").replace(/\s+/ig,",").replace(/,+/,",").replace(/、+/g,",").replace(/,+/g,",").s原创 2020-10-27 18:00:05 · 1920 阅读 · 0 评论 -
每日一道面试题 --- js 中的 arguments
arguments 对象定义一个函数,如果不确定用户是否传入了参数,或者不知道用户传入的参数有几个,无法进行计算。但如果已知参数的个数和值,就可以使用 arguments 来进行继续按。arguments 对象,获取函数调用时传入了几个参数。取得是实参。第一题function foo(a) { alert(arguments.length);}foo(1, 2, 3);123undefined答案: 3解析:arguments 取的是实参的个数,而foo.length取原创 2020-10-27 17:42:20 · 444 阅读 · 0 评论 -
每日一道面试题-- js 作用域提升
每天一道面试题-- js 作用域提升var foo = 1; function bar() { foo = 10; return; function foo() {} } bar();alert(foo);110FunctionundefinedError答案:1解答:上述代码考的是 js 作用域提升的问题。可以写成:var foo = 1;function bar(){ function foo(){}; // 这里在内部定义了 foo 是一个函数 foo原创 2020-10-26 15:43:01 · 605 阅读 · 0 评论 -
nodejs读取文本文件并转为数组存储
把下面的纯文整理为3行4列aaaa “dd” f g;fd分1 “2dd” 113 512q ‘w’ er, -/ g整理结果如下代码如下:var fs = require('fs');fs.readFile('./data.text', function(err, data) { if(err) throw err; var array = data.toString().split("\n"); var arr = [] var temp =原创 2020-09-24 11:32:49 · 3087 阅读 · 0 评论 -
this指针
this指针普通this指针指向问问题:1.预编译过程中的this–>window2.全局作用域中的this–>window3.一般情况下的this–>调用者(谁调用指向谁);4.call/apply,改变this指向,指向第一个参数5.object.function(){} this–>object;6.普通函数中的this,是win...原创 2020-04-17 17:35:35 · 140 阅读 · 0 评论 -
apply和call
apply和callfunction f(x,y){ return x+y;}f1.apply(null);f1.call(null);apply和call方法如果没有传入参数的话,或者传入的是null,那么调用该方法的函数对象中的this就是默认 的window。apply和call可以改变this的指向function Person(age,sex){ this...原创 2020-04-17 17:18:04 · 131 阅读 · 0 评论 -
正则表达式
一、概念正则表达式:Regular Expression 。也叫作规则表达式,是按照一定的规则组成的一个表达式,这个表达式的作用是匹配字符串的。是由元字符或者是限定符组成的一个式子。二、元字符.(点)表示的是:除了\n以为的任意的一个字符;[]表示的是范围。[0-9]表示的是0-9之间的任意的数字。[1-7]表示的是1-7之间的任意数字。[1][0-9][0-9] 表示的是100...原创 2020-04-17 17:17:29 · 79 阅读 · 0 评论 -
原型
原型的作用:数据共享,节省空间;一、通过原型添加方法function Person(name,age){ this.name=name; this.age=age;}Person.prototype.eat=function(){ console.log('吃饭啦');}var p1=new Person('小红',12);var p2=new Person(...原创 2020-04-17 16:57:56 · 166 阅读 · 0 评论 -
浅拷贝和深拷贝
一、浅拷贝1. 概念浅拷贝:就是复制,相当于把一个对象中的所有内容复制一份给另一个对象,直接复制。或者说就是把一个对象的地址给了另外一个对象,他们的指向相同,两个对象之间有着相同的属性和方法,都可以使用。2.用法var obj1={ age:22, sex:"女", car:["polo","帕萨特","大黄蜂"]}//另外一个对象var obj2={};/...原创 2020-04-17 16:55:37 · 95 阅读 · 0 评论 -
继承
一、通过原型实现继承//动物的构造函数function Animal(name,weight){ this.name=name; this.weight=weight;}//动物的原型方法Animal.prototype.eat()=function(){ console.log("我就要吃屎");}//狗的构造函数function Dog(age,colo...原创 2020-04-17 16:43:44 · 111 阅读 · 0 评论 -
构造函数和实例对象
构造函数和实例对象实例对象和构造函数之间的关系:1.实例对象是通过构造函数创建出来的,创建的过程叫做实例化;如何判断对象是不是这个数据类型1)通过构造器的方式per.constructor==Person通过instanceof的方式per.instanceof==Person...原创 2020-04-17 16:36:28 · 370 阅读 · 0 评论 -
DOM 认识
1. document.writedocument.write('<h1>创建节点</h1>');创建的节点会,重新生成一个html的DOM覆盖之前的,所以不可用。2. create 系列创建常用有四种方法,分别如下:document.createCommot() 创建注释document.createDocumentFragment()documen...原创 2020-04-17 16:34:05 · 105 阅读 · 0 评论 -
Date 类型
一、创建方式直接函数调用Date()// “Tue Dec 01 2015 09:34:43 GMT+0800 (CST)”或Date(2000, 1, 1)// "Tue Dec 01 2015 09:34:43 GMT+0800 (CST)"通过new 来创建(1)new Date(milliseconds)new Date();//Wed Oct 11 20...原创 2020-04-17 16:22:21 · 343 阅读 · 0 评论 -
Object
一、创建对象对象在内存空间中站两块位置,一个是堆,一个是栈,堆中存的对象,栈里面存的是对象的地址。字面量(一次性的对象)var obj = {}obj.name = ‘lc’obj.say = function () {console.log(this.name)}obj.say() // ‘lc’或者var obj = { name: 'lc', say: fun...原创 2020-04-17 16:21:36 · 134 阅读 · 0 评论 -
Number
Number.prototype.toString()Number.prototype.toFixed()(10).toFixed(2) // "10.00"Number.prototype.toExponential()toExponential方法用于将一个数转为科学计数法形式。(10).toExponential() // "1e+1"(10).toExponential(1...原创 2020-04-17 16:20:19 · 115 阅读 · 0 评论 -
String
静态方法String.fromCharCode()该方法的参数是一个或多个数值,代表 Unicode 码点,返回值是这些码点组成的字符串。String.fromCharCode() // ""String.fromCharCode(97) // "a"String.fromCharCode(104, 101, 108, 108, 111) // "hello"实例属性String....原创 2020-04-17 16:19:20 · 89 阅读 · 0 评论 -
数组
第 3 章 数组目录 第 3 章 数组1. 创建数组2. 数组的检测3.Array 转换 String4. 栈方法和队列方法5. 重排序方法6. 数组操做方法7. 位置方法8. 迭代方法9. 归并方法10. 类数组对象@(es5)创建数组Javascript 中一般使用二位数组。通过new 的构造函数创建var arr = new Array();或者var arr...原创 2020-04-17 16:06:57 · 197 阅读 · 0 评论 -
函数
一、函数创建(函数定义)1.函数初体验函数的作用:代码的封装1.函数需要先定义再使用;2.函数的命名遵循驼峰命名发;3.函数如果重名,后面的会覆盖前面的。字面量方式function声明(预解析)function fn() {//...}var 赋值表达式var fn = function () { // ...}构造函数var fn = new Function...原创 2020-04-16 16:54:24 · 93 阅读 · 0 评论 -
JS变量、作用域
第 1 章 JS变量、作用域@(es5)基本类型引用类型一、 判断变量类型typeof (能够判断的值:undefined、string、number、function;其他的类型,如对象、数组、null和 undefined 均判断为object)instanceof (不推荐)getPrototypeName ()Object.getPrototypeName....原创 2020-04-16 16:50:57 · 103 阅读 · 0 评论 -
闭包,递归,沙箱
一、闭包闭包的概念:函数A中有一个函数B,函数B中可以访问到函数A中定义的变量或者是数据,此时形成了闭包。闭包的作用:缓存数据,延长作用域链。优点和缺点:缓存数据。函数模式的闭包function f1(){var num=1;//函数的声明function f2(){console.log(num);};f2();}f1(); //1对象模式的闭包函数中有一个...原创 2020-04-16 16:49:55 · 165 阅读 · 0 评论 -
this指针
this指针普通this指针指向问问题:1.预编译过程中的this–>window2.全局作用域中的this–>window3.一般情况下的this–>调用者(谁调用指向谁);4.call/apply,改变this指向,指向第一个参数5.object.function(){} this–>object;6.普通函数中的this,是window;7.对象.方法...原创 2020-04-16 16:49:17 · 100 阅读 · 0 评论