自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 JS数据类型检测typeof、instanceof、constructor、Object.prototype.toString.call()的区别

数据类型检测的四种方式typeof不能细分对象类型的值,都是返回“object”,函数检测返回“function”。typeof 10:numbertypeof new Number(10):objecttypeof true:booleantypeof new Boolean(true):objecttypeof “aaa”:stringtypeof new String(“aaa”):objecttypeof null:object…底层原理:typeof是按照“值”在计算

2020-12-21 14:57:16 5502 26

原创 如何使用按钮实现javafx的同一页面显示

JAVAFX实现登录页添加背景图片欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全...

2019-03-19 14:34:11 4868

原创 Mac安装 MySQL 可视化工具MySQL Workbench

Mac安装 MySQL 可视化工具MySQL Workbench一、安装MySQLMac下载地址:https://dev.mysql.com/downloads/mysql/双击安装包一路next安装完成后可以在系统偏好设置中找到MySQL点击进入MySQL设置界面打开命令行终端执行alias mysql=/usr/local/mysql/bin/mysqlalias mysqladmin=/usr/local/mysql/bin/mysqladminmysqladmin -

2022-01-05 15:59:32 8564 4

原创 面试题——call、apply、bind区别及其实现原理

call、apply、bind实现原理区别:call、apply、bind都是为了改变函数中的this指向。call和apply的唯一区别就是方法传递的参数不同。call/apply和bind的区别,call/apply是立即把函数执行,bind不是立即把函数执行,只是预先把this和后期需要传递的参数存储起来。call用法var callObj = { 0: 1111, 1: 2222, 2: 3333, length: 4 };var param = [].slice.call(c

2021-04-09 18:13:37 322

原创 vue带着查询条件刷新父页面,跳转页面保存查询条件,操作成功跳转回父页面

VUE点击页面跳转,跳回页面后带条件刷新定义混入export default { created() { // 从session中取出页面跳转前保存的查询条件 let searchObj = this.$session.get('searchObject'); if (searchObj) { let { searchQuery, isBack } = searchObj; if (!!isBack && searchQuery) {

2021-04-08 16:48:20 1673 1

原创 React JSX语法解析过程和原理

项目中的用法ReactDOM.render(<h1 id="titleId" className="title_box"> key="AA" 你好,世界 </h1> , document.getElementById("root"))1.通过 babel-preset 将JSX语法糖转义后:React.createElement("h1", { id: "titleId", className: "title_box", key: "AA

2021-03-15 11:53:52 636

原创 JS设计模式:发布订阅模式

发布订阅模式// 发布订阅模式// 灵感来源于 DOM2级事件绑定// 可以给元素的事件行为,绑定多个不同的方法[事件池机制]// 当元素的事件行为触发时,会一次将事件池中的方法执行// let eventBus = (function () { let pond = []; // 往事件池中添加事件 const on = function on(type, func) { // 判断当前事件池中 对应type类型的事件是否存在 !Arr

2021-03-09 14:27:04 182

原创 面试题:手撕PromiseA+规范 (核心功能)

注释应该还可以:(function () { // 开启严格模式 "use strict" function Promise(executor) { var self = this, change; // 传进来的参数不是function 直接报错 if (typeof executor !== 'function') throw new TypeError(`${executor} must be an

2021-03-08 20:29:07 199

原创 面试题:解析URL Params为对象

将url 问号后的参数转化为params对象:// 解析URL Params为对象let str = 'http://www.xxx.com/?name=lele&from=sjz&age=300#666';String.prototype.quertURL = function queryURL(attr) { let obj = {}, self = this, reg1 = /([^?&=#]+)=([^?&=#]+)/g,

2021-03-08 15:42:16 441

原创 面试题:将字符串中-拼接的字符串转化为驼峰命名

正则的强大之处:// 转化为驼峰命名function toHump(str) { let reg = /-(\w)/g; return str.replace(reg, function ($0, $1) { return $1.toUpperCase(); })}// adsZzcQqqUiiasdAsdconsole.log(toHump('ads-zzc-qqq-uiiasd-asd')) ...

2021-03-08 15:37:27 259

原创 面试题:查询字符串中出现次数最多的字符以及出现次数

查询字符串中出现次数最多的字符以及出现次数最优解:// 查询字符串出现最多的次数 var randomStr = "sssfgtdaddddddddadadadadadddddfssddfsssfss"; function getMax(str) { var newStr = str.split('').sort().join(''), //aaaaaaadddddddddddddddffffgsssssssst ary = [];

2021-03-08 15:32:54 383

原创 编写一个hasPubProperty检测某个属性是否是对象的公有属性

基础版let hasPubProperty = function hasPubProperty(obj,attr){ return (attr in obj) && obj.hasOwnProperty(attr);}完美版Object.prototype.hasPubProperty = function hasPubProperty(attr){ let self = this; let protoType = Object.getPrototy.

2021-01-28 14:58:32 252

原创 防抖和节流

防抖是为了防止频繁触发的操作,在指定时间内我们让用户的行为只触发一次在第一次点击时/最后一次点击时(只能识别一次) function debounce(func, time, isStart) { //如果第一个参数不是function 直接提示错误 if (typeof func !== 'function') throw new TypeError("func must be required and be an function!"); //如果time不传默认300毫

2021-01-18 14:12:48 189 1

原创 事件、事件绑定、事件对象、默认行为

事件事件是浏览器赋予元素的默认行为,也可以理解为事件是天生具备的,不论我们是否为其绑定方法,当某些行为触发的时候,相关的时间都会被触发执行。浏览器赋予元素的事件行为:鼠标事件:click 点击事件(PC端:频繁点击N次,触发N次点击事件) 单击事件(移动端:300ms内没有发生第二次点击操作,算作单击事件行为,所以click在移动端会有300ms延迟)。click在移动端第一次点完,会等300ms如果这段时间内发生了第二次点击,算作双击事件。dbclick 双击事件contextmenu

2020-12-28 15:30:58 309

原创 JS中的多种继承方式(包含ES6)

为了让有JAVA基础的小伙伴更直观的看到区别简单描述一下JS中的继承、方法重载跟JAVA中的继承、方法重载区别**JS继承:**js中的继承有多种方式,大体上就是两种,一种是基于原型链覆盖的形式、一种是对象冒充也就是通过改变this指向。支持多继承,通过原型链可以一直往上找。**JAVA继承:**java中的继承是一个类继承了父类以后,它就不能再继承别的类,只支持单继承。但是java中存在接口,接口从本质上来说可以更好的代替继承,可以把需要的方法定义在接口中,让具体的类实现接口中的功能。**JS.

2020-12-28 14:24:00 603 1

原创 jQuery中的extend的用法及实现对象和数组的深浅合并和深浅克隆

jQuery中的extend方法的作用1.给jQuery的原型和对象扩展方法2.数组和对象的深浅合并jQuery.extend = jQuery.fn.extend = function () { var options, name, src, copy, copyIsArray, clone, target = arguments[0] || {}, i = 1, length = arguments.length, deep = false; // Handl

2020-12-28 10:30:16 889

原创 你真的懂jQuery吗?

jQuery创建实例对象及其原型上的方法扩展jQuery创建实例对象中的参数selectornew jQuery.fn.init(selector, context);是调用jQuery原型上init方法创建一个jQuery实例对象(JQ对象)。init = jQuery.fn.init = function (selector, context, root) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(f

2020-12-26 00:25:56 278

原创 正则表达式——常用正则表达式验证有效数字、密码、真实姓名、邮箱、身份证号码及其正则捕获懒惰性原理

常用正则表达式及其懒惰性原理由两部分组成元字符量词元字符* 0到多个+ 1到多个? 0到1个{n} 出现n次{n,} 出现到多次{n,m} 出现n到m次特殊元字符\ 转义字符(普通>特殊>普通). 除\n(换行符)以外任意字符^ 以哪一个元字符作为开始$ 以哪一个元字符作为结束\n 换行符\d 0~9之间一个数字\D 非0~9之间任意字符\w 数字、字母、下划线中的任意一个字符\s 一个

2020-12-25 13:31:41 1266

原创 jQuery源码分析(二)之数据类型检测

源码分析://开启严格模式"use strict"; //定义空对象 var class2type = {}; //获取Object的原型 var getProto = Object.getPrototypeOf; //获取Object原型上的toString方法,所有对象中的toString方法都是转换字符串的, //只有Object原型上的toString方法是用来做数据类型检测的(可以看我数据类型检测那篇文章) var toString = cl

2020-12-23 15:35:26 530 11

原创 jQuery源码分析(一)

jQuery源码分析(一)我们知道在jQuery中在使用选择器或者给元素绑定事件的时候都是通过$来操作的。那么基于JavaScript面向对象的思想,我们可以把jQuery看做一个函数或者对象,它里边存储了大量的方法,是一个类库。$代表的就是jQuery$.ajax() --------- jQuery.ajax() 当做对象来看就是jQuery调用它静态私有的属性和方法,同样我们可以再控制台输出一下dir(jQuery)看到jQuery对象中存储属性和方法:jQuery.prototype 原

2020-12-23 12:38:39 3203 16

原创 数据类型转换——经典面试题

经典面试题:var a = ?;if (a == 1 && a == 2 && a == 3) { console.log('OK');}正答:1.重写Symbol.toPrimitive属性:var a = {i: 0};//a[Symbol.toPrimitive]也可以直接写在对象中a[Symbol.toPrimitive] = function () { // this指向的是a 让i每次进来+1 return ++thi

2020-12-22 15:05:14 4000 21

原创 Number方法重构——经典面试题

面试题—Number方法重构//完成如下需求let n = 10;let m = n.plus(10).minus(5);console.log(m);//=>15(10+10-5)解题思路只需要重写Number原型上的plus、minus这两个方法即可:Number.prototype.plus=function plus(val){ //这里的this指向是n return this+val;};Number.prototype.minus=function minus

2020-12-21 09:55:17 403 11

原创 JAVAF给页面添加背景音乐

非常简单的一个例子我的业务场景是点击页面中的菜单栏中某个菜单时,播放背景音乐,切换其他菜单时关闭音乐FXML页面的button绑定后台controller代码就不写了我的页面中button绑定的onMouseClicked="#openMp3"controller代码: @Override public void initialize(URL location, ResourceBun...

2019-04-02 15:18:17 2005

原创 JAVAFX 关闭子页面刷新主页面——javafx双屏上主页面操作实时刷新副页面的内容显示

本人也是javafx的小白,因为公司要开发客户端使用javafx技术,开发中遇到的一些坑分享给大家了解一下,话不多上,直接上代码**首先是点击按钮弹出两个窗口的实现**`try { //点击按钮正常跳转fxml页面的逻辑 FXMLLoader loader = new FXMLLoader(); loader.setLocation(Main.class.ge...

2019-03-19 15:13:14 3954

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除