- 博客(15)
- 收藏
- 关注
原创 放大模式
放大模式模块化开发//init的方式:onload或其他fun init(){ initXXX();}var initXXX = (function(){ function init(){ bindEvent(); } function bindEvent(){ } return function(){ init(); }})();//直接抛出对象的方式 用的比较多var text
2020-06-20 12:25:18
463
原创 变量垃圾回收机制
垃圾回收机制 垃圾回收机制: - 是对内存中存储的值进行处理,回收不再使用的值; - js不需要手动回收变量,js引擎会自动回收变量; 垃圾回收原理: 1. 找出不再使用的变量 2. 释放其占用内存 3. 固定的时间间隔运行; (理解成对内存中的值,进行处理) 垃圾回收的方式有:? 标记清除方式,引用计数方式 标记清除的方式:mark and sweep
2020-06-20 12:24:37
362
原创 错误类型与严格模式
错误类型与严格模式## 错误类型有哪几种?- 语法错误- 引用错误- 类型错误- 范围错误- URI错误- eval函数错误- 共6种## uncaught SyntaxError的含义- 未捕获的,即被系统自动抛出来的语法错误 JS错误信息类型, 1. SyntaxError 语法错误; //变量名不规范,var 1 = 1; -> Uncaught SyntaxError: Unexpected number; //数字作变量名
2020-06-20 12:22:19
319
原创 类数组笔记
类数组类数组是什么是带有数组下标特性的对象,但它没有数组的方法,需要自定义。比如arguemnts优点是既有数组的特性,又有对象的特性把对象编程数组的模样 【】添加splice原方法和.length属性类数组笔试题push的实现原理length长度缺的位置,打印empty,//阿里笔试题-push原理, 类数组 var obj = { '2': 3, '3': 4, 'length': 2, 'splice': Arra
2020-06-20 12:21:03
135
原创 数组方法总结
数组数组基础声明数组方法 , 有哪三种方法? var arr = []; //数组字面量 var arr = new Array(); //new Array构造函数声明数组 //实参不能有空值,有空会报错 var arr = Array(); //这种一般不使用,但能声明出来 //所有数组都继承于Array.prototype, 上面三种构造出来的数组都是Array构造出来的声明对象的方法 同数组一样 //var obj = {} , new Object() , O
2020-06-20 12:19:11
161
原创 克隆,深拷贝,浅拷贝
克隆/拷贝/复制它们是同个东西拷贝对象/克隆对象浅拷贝只拷贝对象表层的属性,引用值还是指向同个地址修改引用值会相互影响 var person1 = { name:'张三' } function clone(origin, target){ var tar = target || {}; for(var key in origin){ if(origin.hasOwnProperty(key)){
2020-06-20 12:17:09
167
原创 原型,原型链
原型,原型链原型 prototype- 是一个对象,叫prototype- 实例化之前,原型只是挂靠在构造函数上边- 实例化后,它存在于实例化的对象里面,也就是this里边。- 放在__proto__容器里面。- 原型是实例化以后才有的- Car.prototype是构造函数Car的原型.- prototype定义了每个构造函数构造出的每个对象的公共祖先。- 所有被构造函数构造出的对象,都可以继承原型上的属性和方法。__proto__- __proto__属于每个实例化的对象-
2020-06-20 12:12:36
141
原创 对象、构造函数
对象、构造函数对象与原型:所有字面量创造的对象和new出来的对象,它们的原型都是__proto__: Object.protytype。如果修改了原型,Object.prototype.name = '小刘', 那么所有创建的对象都会继承这个属性。实例对象,构造函数和原型三者的关系:实例对象 constructor 构造函数,构造函数 prototype 原型,实例对象 __proto__ 原型。对象:对象字面量与创建对象的两种方法:1.声明一个变量,然后将一个对象赋值给变量; 也叫对象直接量。v
2020-06-20 12:11:39
216
原创 闭包
闭包闭包: 从现象上来说,就是能访问别的函数内部变量的函数叫做闭包。从原理上来说,在一个函数中通过return抛出一个子函数,当子函数在外层用变量接收后,该子函数就不被销毁,从而产生的一种作用域链不释放的现象。立即执行函数: 函数自动执行,执行完成以后立即释放。也叫初始化函数。英文名称是,IIFE - immediately-invoked function expression 立即执行的函数表达式。立即执行函数的两种基本写法: 1. 写法1:最常用写法:写到括号外。(function(){
2020-06-20 12:10:50
157
1
原创 作用域
作用域作用域:从表层上讲:就是在函数的里层作用域可以访问到外层作用域的变量。从底层上讲:就是在函数被执行的前一刻,会创建自己的[[scope]]对象。[[scope]]会保存当前作用域和上层作用域的变量和方法。函数自身的执行期上下文放在最顶端,上层作用域的上下文往下依次排列,构成作用域链。作用域链:在函数被执行的前一刻,会创建自己的[[scope]]对象。[[scope]]会保存当前作用域和上层作用域的变量和方法。函数自身的AO放在最顶端,上层作用域的上下文往下依次排列,构成作用域链。(scope c
2020-06-20 12:09:58
143
原创 预编译
预编译预编译:预编译是函数执行之前,进行的一个整理的过程。预编译的概念:AO activation object。AO是函数执行期上下文,也叫活跃对象。 预编译的过程: 1. 创建AO对象, AO = {}。2. 寻找函数的形参和变量声明, 赋值为undefined, 放到AO里面去。3. 把实参的值赋值给形参。4. 寻找函数声明,赋值为函数体。5. 执行语句。 GO:全局执行期上下文。AO:函数执行期上下文。AO和GO下的预编译的步骤:AO:创建AO。找形参和变量声明。实参赋值给形
2020-06-20 12:09:12
124
原创 显隐式类型转换
显隐式类型转换typeof题:typeof []; => object => 可以理解为引用,但不完全是引用typeof null; => object => 为什么是obj? 其实是个bug;null实际上是空对象的指针,/空对象的占位符。它一开始的规定是引用类型,所以是object。es6曾提案说修改成null类型,但被拒绝了,因为更改已有代码代价很大。typeof undefined => undefined。typeof( function(){} )
2020-06-20 12:06:55
115
原创 JS函数基础回顾
vue基础1.vue介绍手册 cn.vuejs.org 论坛 forum.vuejs.org/特点 范围广 生态好 代码轻量 发展迅速美籍华人 尤雨溪相关框架:vue框架 Nuxt服务端渲染框架 Weex开发原生App框架兼容性 不支持ie8及以下版本vueJS设计模式 MVVM 模型层(数据层data) 视图层 ViewModel层引用 开发版本 生产版本- 前者更详细的提示和...
2020-06-17 18:27:45
99
原创 git与github的基本用法(入门笔记)
git与github的基本用法(入门笔记)视频链接:https://ke.qq.com/course/237926?taid=3354704465863014一、git是什么版本管理工具VCS用作多人项目开发的管理控制工具主要功能分布式版本控制多个开发人员的协调工作有效监听是谁做的修改本地及远程操作安装https://git-scm.com/download点击...
2019-08-07 17:45:54
560
原创 计算机图形学几何图形变换VS2010实现
计算机图形学几何图形变换VS2010实现矩阵实现三角形平移、旋转30度、放大等C++ 代码矩阵实现三角形平移、旋转30度、放大等C++ 代码// An highlighted block// 实验2.cpp: //dda#include "stdafx.h"#include "graphics.h"#include <conio.h>#include "windows...
2018-11-17 17:28:11
4277
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人