MVVM原理
MVVM 原理常见的面试问题: Vue 数据绑定的原理? MVVM 数据绑定的原理? Vue 双向数据绑定的原理? Vue 数据响应式原理? 数据响应式原理? 当前比较流行的前端框架都是采用的 MVVM 的方式: 什么是 MVVM? 简单一句话:数据驱动视图。 介绍感受 MVVM 传统的 DOM 操作方式 模板引擎方式 数据驱动视图方式(MVVM) 什么是 MVVM 简单一句话:数据驱动视图 123456789101112131415161718192021<!-- 视图 --><template> <div>{{ message }}</div></template><!-- - 把普通的 JavaScript 对象和视图 DOM 之间建立了一种映射关系: - 数据的改变影响视图 - 视图(表单元素)的改变影响数据--><script> // Model 普通数据对象 export default { data() ...
Jquery的常见问题
你在公司是怎么使用 jquery 的? 在项目中是怎么用的,就是面试官想考核你是否具备实际的项目开发经验,这个时候可以结合项目中的实际情况来解答(比如用过的选择器,复选框,表单,ajax,事件等)配置 jquery 环境,下载 jquery 类库,在 jsp 页面引入 jquery 类库即可 1<script type="text/javascript" src="jquery/jquery-1.7.2.min.js" /> 接下来通过在 1<script> $(function(){}); </script> 你为什么要使用 jquery?(或者是这样问的:你认为 jquery 有哪些好处?) 因为 jQuery 是轻量级的框架,大小不到 30kb,它有强大的选择器,出色的 DOM 操作的封装,有可靠的事件处理机制(jQuery 在处理事件绑定的时候相当的可靠),完善的 ajax(它的 ajax 封装的非常的好,不需要考虑复杂浏览器的兼容性和 XMLHttpRequest 对象的创...
Promise
Promise 构造器Promise 是一个构造器,用来创建 Promise 类型的对象 。就好像 Array 是一个构造器,用来创建数组。 格式123456789var p1 = new Promise(function (resolve, reject) { alert(1); // 在某一个时刻去调用 // resolve():把p1的状态由 pending -----> resolved // reject() :把p1的状态由 pending -----> rejected console.log(222); resolve(456);});console.dir(p1); 三种状态pendingpending,”行将发生的”。相当于是一个初始状态。 1234var p = new Promise((ok, err) => { console.info("发呆.....");});console.dir(p); resolved创建 Promise 对象时,在实参函数中调...
Node操作MySQL
数据库的增删改查增1insert into 表名(字段名1,字段名2,......) values(值1,值2,......) 删1delete from 表名 where 删除条件 改1update 表名 set 字段1=值1, 字段2=值2,... where 修改条件 查1SELECT 字段名1, 字段名2, ..... FROM 表名 WHERE <条件表达式> Node.js 中使用 MySQL初始化文件夹1npm init -y 安装插件1npm i mysql 创建 server.js 将代码复制进去12345678910111213141516var mysql = require("mysql");var connection = mysql.createConnection({ host: "localhost", user: "root", password: "root", database: "test"...
Xmind笔记汇总
HTML到Node.js之前笔记汇总
24道JavaScript算法题
标准排序第一种123456789101112var arr = [5, 8, 3, 6, 9];for (var i = 0; i < arr.length; i++) { for (var j = i + 1; j < arr.length; j++) { var temp; if (arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }}console.log(arr); 第二种:冒泡排序123456789101112var arr = [5, 4, 6, 1, 3, 2];for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr.length - i + 1; j++) { var temp; if (arr[j] > arr[j + 1]) ...
JavaScript常见问题
javascript 的 typeof 返回哪些数据类型 string,boolean,number,undefined,function,object 例举 3 种强制类型转换和 2 种隐式类型转换? 强制(parseInt,parseFloat,number隐式(== ===) Split 和 join 的区别 Split是将字符串切割成数组的形式join是将数组转换成字符串 数组方法 pop() push() unshift() shift() push()尾部添加pop()尾部删除unshift()头部添加shift()头部删除 IE 和标准下有哪些兼容性的写法123var ev = ev || window.eventdocument.documentElement.clientWidth || document.body.clientWidthVar target = ev.srcElement||ev.target ajax 请求的时候 get 和 post 方式的区别 get请求值在 url 后面post...
Node中的会话技术
会话技术有很多的网站都有登录的功能: 123|--login.html (登录页)|--index.html(主页)|--vip.html(设置页) 实际开发中,我们必须解决: 页面之间的状态共享问题:例如用户从 login.html 页面登陆之后,再去访问 index.html 或者 setting.html 页面时,应该还是能够获取用户的登陆信息。 权限控制。必须先 login 成功,之后才访问 vip.html。 由于 http 是无状态的,就是无记忆的,对于 HTTP 协议而言,无状态同样指每次 request 请求之间是相互独立的,当前请求并不会记录上一次请求信息。每次请求都是独立的,没有关联的,所以服务器和客户端都不知道是否是登录过的。 什么是会话控制会话控制就是用来弥补 http 无记忆的缺陷的一种技术。它能够将数据持久化(保存数据)的保存在客户端(浏览器)或者服务器端,从而让浏览器和服务器进行多次数据交换时,产生连续性。 让每一次的请求和响应都知道对方是谁。 会话控制的分类Cookie–将数据保存到客户端(浏览器)(饼干,甜点)Cookie 原理 从服务器...
Node中的跨域
什么是跨域不同源的AJAX就是跨域 协议,域名 ,端口相同就是同源 问题演示 浏览器向 web 服务器发起 http 请求时 ,如果同时满足以下三个条件时,就会出现跨域问题,从而导致 ajax 请求失败: 你的浏览器多管闲事了。跨域问题出现的基本原因是浏览器出于安全性的考虑——同源策略:ajax 请求必须是同源,封杀了你跨域请求。可以安装一个浏览器插件allow-control-allow-origin来测试一下。 如果使用 postman 软件(它不是浏览器)来发请求,就不会有这个问题了。 你的请求是 xhr 请求。就是常说的 ajax 请求。浏览器请求图片资源,js 文件,css 文件是可以跨域的(不是 ajax 请求) 发出请求不符合同源策略要求。 同源是指:协议相同,域名相同,端口相同。即发 ajax 请求的所在的页面 与 所请求的接口的 url 必须是同源的。 以下就是不同源的: 从http://127.0.0.1:5500/message_front/index.html 请求http://localhost:8080/msg 在前后端分离开发的场景下,前端...
Class 的基本语法
Class 的基本语法简介JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。 12345678910function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = function () { return "(" + this.x + ", " + this.y + ")";};var p = new Point(1, 2); 上面这种写法跟传统的面向对象语言(比如 C++ 和 Java)差异很大,很容易让新学习这门语言的程序员感到困惑。 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。上面的代码用 ES6 的class改...



