笑笑の博客

有一种风雅 趁年华

  • 首页
  • 关于
  • 标签
  • 分类
  • 归档

深拷贝与浅拷贝

发表于 2021-05-04 | 分类于 面试题
字数统计: 454 | 阅读时长 ≈ 2

浅拷贝:藕断丝连
深拷贝:老死不相往来

浅拷贝:arr.slice() arr.concat() 还有ES6定义的Object.assign() 第一个参数为目标参数,之后跟一个或多个源对象

  • 赋值号对于基本类型是深拷贝,对于引用类型是浅拷贝

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    let a = 1
    let b = a
    b = 2
    console.log(a,b);//1 2 深拷贝

    let arr = [1,2,3]
    let brr = arr
    brr.push(4)
    console.log(arr,brr); //[1,2,3,4] [1,2,3,4] 浅拷贝

    let obj = {
    name: "ni",
    age: 18,
    attr: {sex:'女',x:"student"}
    }
    let newObj = obj
    newObj.age = 28
    newObj.attr.x = 'teach'
    console.log(obj,newObj); //都改变 浅拷贝
阅读全文 »

怎么判断变量类型

发表于 2021-05-04 | 分类于 面试题
字数统计: 552 | 阅读时长 ≈ 2

JavaScript的变量类型:usonb

  • ES5中 undefined string obiect null number boolean
  • ES6新增Symbol
  • 谷歌67版本中还出现了bigInt(但是多数人不把这个当作一个类型)

注意:NaN是Number中的特殊数值,不是Number类型

  • JS的引用类型有哪些?
    Object(Object包含了Data,function,Array,Null等)

  • JS中的typeof输出分别是什么?
    基本类型输出对应类型
    Null–>Object
    NaN–>Number
    {},[]—>object

阅读全文 »

动态规划篇

发表于 2021-04-06 | 分类于 程序设计
字数统计: 422 | 阅读时长 ≈ 1

动态规划解题一般分为3步:
1.表示状态
每一种状态都是使用数组的维数来表示的
一般我们会使用数组的第一位来表示阶段,然后再根据需要通过增加数组维数,来添加其它状态
2.找出状态转移方程
状态转移指的是,当前阶段的状态如何通过之前计算过的阶段状态得到
3.初始化边界
初始化边角状态,以及第一阶段的状态
参考连接:小小算法

阅读全文 »

Grunt,Gulp,Webpack自动化构建工具

发表于 2021-04-03 | 分类于 前端
字数统计: 1.8k | 阅读时长 ≈ 7

一.Grunt

使用插件进行处理 比如grunt-contrib-concat(进行js合并),grunt-contrib-uglify(进行js压缩),grunt-contrib-jshint(js语法检查),grunt-contrib-cssmin(对css任务进行合并压缩),grunt-contrib-watch(对任务进行监视)
插件使用步骤:
先下载npm install grunt-contrib-concat –save-dev
复制代码到Gruntfile.js
执行grunt concat(或者多个命令的时候,都写在默认任务中,使用grunt一次执行)

在使用watch的时候

1
2
grunt.registerTask('default', ['concat','uglify','jshint']);
grunt.registerTask('myWatch',['watch']);

在进行代码监视的时候执行grunt myWatch
在打包上线的时候执行 grunt

执行的时候,grunt执行任务是同步的。注意顺序问题

阅读全文 »

axios强大的ajax请求库

发表于 2021-04-03 | 分类于 前端
字数统计: 1.2k | 阅读时长 ≈ 4

前言

json-server

用来搭建REST API的工具包

XHR

XMLHttpRequest允许无需让整个页面刷新,更新局部内容

区别一般http请求与ajax请求

ajax请求是一种特别的http请求
对服务器端来说,没有区别。区别在浏览器端,
浏览器端发请求:只有XHR或fetch发出的才是ajax请求,其他所有都是非ajax请求

阅读全文 »

Git强大的版本控制工具

发表于 2021-04-03 | 分类于 前端
字数统计: 698 | 阅读时长 ≈ 2

集中式(svn)

svn因为每次存的都是差异 需要的硬盘空间会相对的小一点  可是回滚的速度会很慢
优点: 
    代码存放在单一的服务器上 便于项目的管理
缺点: 
    服务器宕机: 员工写的代码得不到保障
    服务器炸了: 整个项目的历史记录都会丢失

分布式(git)

git每次存的都是项目的完整快照 需要的硬盘空间会相对大一点
    (Git团队对代码做了极致的压缩 最终需要的实际空间比svn多不了太多 可是Git的回滚速度极快)
优点:
    完全的分布式
缺点:    
    学习起来比SVN陡峭

    **见百度网盘的资料,有pdf和笔记**
阅读全文 »

JS模块化笔记

发表于 2021-04-03 | 分类于 前端
字数统计: 1.1k | 阅读时长 ≈ 4

一.基础篇

将一个大的程序拆为许多小文件
好处:

  • 防止命名冲突
  • 代码复用
  • 高维护性
  • 模块化的理解

  • 什么是模块?

    • 将一个复杂的程序依据一定的规则(规范)封装成几个块(文件), 并进行组合在一起
    • 块的内部数据/实现是私有的, 只是向外部暴露一些接口(方法)与外部其它模块通信
阅读全文 »

Promise深入学习

发表于 2021-04-03 | 分类于 前端
字数统计: 540 | 阅读时长 ≈ 2

一.回顾Promise

ES6引入的异步编程,语法上是一个构造函数,用来封装异步操作并可以获取成功或失败的结果
- Promise构造函数: Promise(excutor){}
- Promise.prototype.then 方法
- Promise.prototype.catch 方法
可以解决回调地狱的问题

  • allSettled与all区别
    allSettled无论数组中的promise成功还是失败都会执行完,all只要数组里面有reject就会停止,且返回失败的状态

更多代码见node/js/promise

阅读全文 »

Ajax回顾

发表于 2021-04-03 | 分类于 前端
字数统计: 322 | 阅读时长 ≈ 1

get请求的体为空

  • 先终端打开express, node 服务.js
    服务.js
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //引入express
    const { response, request } = require('express');
    const express = require('express');
    //创建对象  
    const app = express();
    //创建url路径  
    app.get('/service',(request,response)=>{
         response.setHeader('Access-Control-Allow-Origin','*')
        //设置响应  
        response.send('hello express');
    });
    //创建url路径  
    app.post('/service',(request,response)=>{
        response.setHeader('Access-Control-Allow-Origin','*')
       //设置响应  
       response.send('hello npmmon');
    });
    //监听端口 
    app.listen(8000,()=>{
        console.log("8000端口服务已经启动。。。。。")
    })
阅读全文 »

Vue回顾

发表于 2021-04-03 | 分类于 前端
字数统计: 1.5k | 阅读时长 ≈ 5

一.基础篇

1.vue生命周期

Vue 的生命周期总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/后。

1、beforeCreate(创建前)

表示实例完全被创建出来之前,vue 实例的挂载元素$el和数据对象 data 都为 undefined,还未初始化。

2、created(创建后)

数据对象 data 已存在,可以调用 methods 中的方法,操作 data 中的数据,但 dom 未生成,$el 未存在 。

阅读全文 »
1…456…15

苏玉璠

人在旅途 风向八方 有人四处走动 是为了寻找一个温暖的地方留下 有人不断告别 是因为没有谁能挽留她的脚步 有人不断被超越 只因为梦想的无法止息

141 日志
12 分类
58 标签
E-Mail
© 2019 — 2024 苏玉璠
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
博客全站共156.5k字