自己写的一个类似于jQuery中的toggle函数 这是HTML 公共测试页 jquery.../2.0.0/jquery.min.js"> function switchSearch
为什么 Vue 中的 data 必须是个函数? 官方文档的解释如下: ? ? 为什么会出现上述“影响到其它所有实例”的情况呢?...,age 都变成了 40,导致了问题 因此,data 如果单纯的写成对象形式,会使得所有组件实例共用了一份 data,造成一个变了全都会变的结果 接下来我们用函数改造以上代码: function Component...Vue 组件中的 data 需要用函数了,当 data 是函数的时候,每一个实例的 data 属性都是独立的,互不影响 总结 Vue 中的 data 必须是个函数,因为当 data 是函数时,组件实例化的时候这个函数将会被调用...,返回一个对象,计算机会给这个对象分配一个内存地址,实例化几次就分配几个内存地址,他们的地址都不一样,所以每个组件中的数据不会相互干扰,改变其中一个组件的状态,其它组件不变 简单来说,就是为了保证组件的独立性和可复用性...,如果 data 是个函数的话,每复用一次组件就会返回新的 data,类似于给每个组件实例创建一个私有的数据空间,保护各自的数据互不影响
一个项目中,没有用到maven,所以不能在maven窗口进行项目打包,这时候用idea操作有点懵逼,所以网上找了一下别人的操作IDEA中进行war的配置.1.首先打开【Project Structure...】窗口, 进行war的配置. ( 两种方式 )2.选择左侧的【Artifacts】页签, 添加一个【Empty】的【Web Application:Archive】.3.点击+号,选择【Directory...Content】, 然后找到自己项目的Web根目录....点击OK即可.4.在/WEB-INF/classes目录下, 生成编译后的class文件.注: 点击apply -> ok , 此时war包就配置好了.将项目进行打包.点击【Build】->【BuildArtifacts...】->【Build】菜单, 找到自己更才部署的项目, 进行打包即可.注: 打包完成之后 , 去配置war时指定的目录下查找即可.
在 Vue.js 组件中,data 必须是一个函数,而不能是一个对象,这是因为组件是可复用的实例。 如果 data 是一个对象,那么当我们创建多个组件实例时,它们会共享同一个 data 对象。...这意味着当一个组件实例修改了 data 中的数据,其他组件实例也会受到影响。这通常不是我们所期望的行为。...而如果 data 是一个函数,那么每个组件实例都会返回一个独立的 data 副本: // 将 data 定义为一个函数 export default { data() { return {...count: 0 } }, methods: { increment() { this.count++ } } } 现在,每个组件实例都有自己的...这就是为什么 Vue.js 要求 data 必须是一个函数的原因。 总之,使用函数返回 data 对象可以确保每个组件实例都有独立的数据副本,避免了组件之间数据的相互影响。
引用类型与函数区别 引用类型与函数 object是引用类型,如果不用function返回,每个组件的data都是内存的同一个地址,一个数据改变了其他也改变了。...js中只有函数构成作用域(只有函数的{}构成作用域,对象的{}以及if(){}都不构成作用域),data是一个函数时,每个组件实例都有自己的作用域,每个实例相互独立,不会互相影响。...(); component1.data.a = component2.data.a; component1.data.b = 5; component2.data.b // 5 如果两个实例引用一个对象...,那么当你修改其中一个属性的时候,另外一个实例也会跟着改; 两个实例必须有自己各自的作用域才行,需要通过下列方法进行处理 const Mycomponent = function(){ this.data...= this.data(); } Mycomponent.prototype.data = function(){ return { a: 1, b: 2 } } 这样每一个实例的
组件是可复用的vue实例,一个组件被创建好之后,就可能被用在各个地方,而组件不管被复用了多少次,组件中的data数据都应该是相互隔离,互不影响的,基于这一理念,组件每复用一次,data数据就应该被复制一次...能有这样效果正是因为上述例子中的data不是一个单纯的对象,而是一个函数返回值的形式,所以每个组件实例可以维护一份被返回对象的独立拷贝,如果我们将上述例子中的data修改为: ?
在 Vue.js 中,data 属性通常是一个函数而不是一个对象,这是为了确保每个组件实例都有独立的数据副本。以下是详细解释:1....确保数据隔离如果 data 是一个对象,那么所有组件实例将共享同一个数据对象。这会导致数据污染和意外的副作用。...使用函数确保独立性通过将 data 定义为一个函数并返回一个对象,Vue 可以确保每个组件实例都有自己的数据副本。这样可以避免数据污染和意外的副作用。...}; }});在这个例子中,每个组件实例都会调用 data 函数并获得一个新的数据对象,从而确保数据的独立性。3. 性能优化使用函数返回数据对象还可以提高性能。...总结将 data 定义为一个函数而不是一个对象,可以确保每个组件实例都有独立的数据副本,从而避免数据污染和意外的副作用,同时提高性能。
设置字节中某位的值 static public Byte s_SetBit(Byte byTargetByte, int nTargetPos, int nValue) { int nValueOfTargetPos...获得字节中某位的值 static public int s_GetBit(Byte byTargetByte, int nTargetPos) { int nValue = -1; switch
3.当我们将组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,拥有自己的作用域,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据...$options.data.name); six // 输出vc2的data的值是six,这时候发现vc2中的data也被修改了,他们data相互影响 将data改为一个函数 // 这样就可以保证每个组件调用...,创建子类之后会把自己的选项和父类的选项使用mergeOptions方法做一个合并,自己的选项就包含data。...补充: 为什么要合并?因为子组件也要有父组件的属性,extend方法是通过一个对象创建了一个构造函数,但是这个构造函数并没有父类的属性,因为它是一个新函数,和之前的Vue构造函数是没有关系的。...通过extend产生了一个子函数,这个子函数需要拥有vue实例上的所以东西,它就要做一次合并。 四、为什么new Vue这个里面的data可以放一个对象? 因为这个类创建的实例不会被复用。
从上图,我们能直观明了的Jquery结构。我们先看Jquery的声明方法。 闭包函数 Jquery的所有对象都封装在闭包上。闭包的好处,我以前写关相关的博客。...(function(global,factory){ })(window,function(){ }); Jquery所有的实现都是被封装在一个立即执行的匿名函数里。...这个函数有两个参数一个参数是window对象,另一个参数就是一个函数,用来声明jquery的方法以及属性,这个函数是主体。...Jquery是个立即执行的闭包函数,它把Jquery和$暴露出来给使用。...JavaScript中没有类的概念,但是在JavaScript中也可以通过函数来创建对象。Jquery并不需要new关键字来实例化。
在这种情况下,您将不得不求助于经典函数范围。 闭包和私人数据 IIFE的另一个用例是围绕由IIFE返回的函数访问的局部变量提供包装范围。...通过这种方式,即使函数在IIFE的词法范围外执行,也会创建一个闭包,使函数能够访问局部变量。...假设我们要创建一个函数uniqueId,每次调用它时都会返回一个唯一标识符(如“id_1”,“id_2”等)。在IIFE中,我们将跟踪每次调用计数器函数时递增的私有计数器变量。...例如,考虑一下你正在使用jQuery同时另一个库也指定了一个为$的全局变量。 为了解决命名冲突问题,可以将一段代码封装在一个IIEF中,将一个全局变量(比如,jQuery)作为参数传入IIFE。...$) { // ... })(jQuery); 不管在外部作用域有什么值指定给$,在IIFE中,这些值都会被”屏蔽”,$参数一直指向jQuery方法。
一、问题描述 在 【错误记录】IntelliJ IDEA 导出可执行 jar 包执行报错 ( java.lang.ClassNotFoundException | 打包时没有选择依赖库 ) 博客中遇到..., 想要使用 exe4j 将上述 jar 包打包成一个 Windows 程序 , 将 Jar 包 与 Java 虚拟机打包在一起 , 捆绑成一个可执行的 exe 程序 ; 但是 exe4j 打包时 ,...无法设置 jar 包的依赖库 , 只能设置一个 jar 包 ; 研究了下 exe4j 的文档 , 得到以下结论 : exe4j 打包程序无法设置 jar 包依赖 , 只能设置一个 jni 相关的 native...; 这就比较尴尬了 , IntelliJ IDEA 打包出来的是一个 jar 包 + 若干 jar 依赖库 , 无法设置到 exe4j 中 ; 在 exe4j 执行时 , 会报错 , 无法找到依赖 ,..., 导出 jar 包时 , 选择第一种方案设置 , 然后将所有的 java 源码打包在一起 ; 打包后的效果如下 , 所有的 Java 源码都打包在了一个 jar 包中 ; 注意 , 要删除 META-INF
题目描述 实现一个函数,可以左旋字符串中的k个字符。...例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 题目分析 我们将思路先捋清楚,做任何题目之前不要盲目直接地去敲代码,可以先在自己的草稿纸上画图理解,在之后的数据结构学习中更是要养成这个学习习惯...方法一 方法一,我们可以将前k个字符先逆序,然后再将后面的字符逆序,再将整体逆序,就可以得出左旋k个字符后的字符串 例如,我们将字符串ABCDE左旋2个字符: 思路如下: 方法一代码实现 首先我们下一个交换函数...我们用图来了解一下: 我们用开辟一个动态的内存空间temp用来存放从arr拷贝出来的字符串 然后再将temp中的内容拷贝到arr里,就实现了字符串的左旋了 方法一代码实现 首先开辟temp 字符串有多长我们就开辟多大的空间...temp中,然后再用memcpy将temp中的字符串统一放入arr中 关于memcpy函数不懂的也可以看我之前的博客 memcpy(temp, arr + len - k, sizeof(char)
跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域 为什么浏览器要限制跨域访问呢?...为什么要跨域 既然有安全问题,那为什么又要跨域呢?...(一般默认为:callback) jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写...也好,AngularJS也罢,底下都不是发起XHR (XML HTTP Request),而都是通过加载javascript的方式来做的,所以如果项目没有依赖jQuery或者AngularJS,则可以自己手动实现...原理很简单,就是用javascript动态加载一个script文件,同时定义一个callback函数给script执行而已。
中 ================= $ npm i xxx -g(--global) 把模块安装在全局 安装在全局 VS 安装在本地 1.安装在全局可以使用命令,但是不能在项目代码中导入,而且多个项目使用相同的版本...类库 方法库,不具备任何的思想和逻辑性,只是一个工具包 JQ、Zepto、underscore、Lodash......框架 具备自己的核心思想,例如:MVVM(vue)、MVC(react),一般来说,某个框架都有一个完整的生态圈:脚手架、方法库、插件和UI组件库、核心思想......JQ(jQuery) JQ(jQuery):是一个类库(方法库),里面提供大量操作DOM及一些常用的方法,依托于这些方法可以简化项目开发(前提:项目是基于操作DOM完成的,在Vue/React数据驱动项目中...,已经不咋使用JQ了) JQ提供的方法在两部分 jQuery.prototype ($.fn) JQ是一个构造函数,在它原型对象上提供了大量的方法,供其实例使用 实例.xxx() 样式类操作:
把一些常用到的方法写到一个单独的 js 文件,使用的时候直接去引用这js文件就可以了,这个 js 文件就是 JavaScript 库。(比如我们自己写的 common.js 就是一个 js 库。)...jQuery 就是一个 JavaScript 函数库,没有什么特别的。里面封装了一大堆的方法方便我们的开发,其实就是一个加强版的 common.js。...jQuery 本身就是一堆 JavaScript 函数,JavaScript 是做什么的,jQuery 就是做什么的。...毕竟 jQuery 知识 JavaScript 编写的函数库而已,有些功能 jQuery 没有封装,则还需要通过自己写原生 JavaScript 来实现。 5、为什么要学 jQuery?...因为有一些兼容或功能没有封装在 jQuery 里面,必须通过原生 js 操作,所以需要 jQuery对象转DOM对象。当这一步操作完之后,再次转回 jQuery 对象,可以更方便的操作页面元素。
输入2次#,并按下space后,将生成2级标题。 以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。...项目 项目 项目 项目1 项目2 项目3 计划任务 完成任务 创建一个表格 一个简单的表格是这么创建的: 项目 Value 电脑 $1600 手机 $12 导管 $1 设定内容居中、居左、居右...HTML conversion tool Authors John Luke 如何创建一个注脚 一个具有注脚的文本。...2 注释也是必不可少的 Markdown将文本转换为 HTML。...mermaid section 现有任务 已完成 :done, des1, 2014-01-06,2014-01-08 进行中
跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域 为什么浏览器要限制跨域访问呢?...为什么要跨域 既然有安全问题,那为什么又要跨域呢?...(一般默认为:callback) jsonpCallback:"flightHandler",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?"...也好,AngularJS也罢,底下都不是发起XHR (XML HTTP Request),而都是通过加载JavaScript的方式来做的,所以如果项目没有依赖jQuery或者AngularJS,则可以自己手动实现...原理很简单,就是用javascript动态加载一个script文件,同时定义一个callback函数给script执行而已。
第一次写jQuery插件,简直无从下手,好在一步一步从简单到复杂(对我来说挺复杂的),终于理解了jQuery插件的写法规则,并最终以一个新闻式插件面世。...(编写准备工具:sublime(其他只要可以开发HTML就行),jQuery包) 一、题目:编写一个类似新闻样式的小插件(即:用上这个插件,就能自动生成一个新闻样式),如图所示。...----自定义 解决办法是先自定义需要的数据,然后引用函数的时候传输这个自己定义的变量。 那么,问题来了,数据长什么样?...刚开始,虽然知道数据可能是json样式,但是没有对象的思想(传输数据,无论需要多少数据,有多少层,都将它们一起封装在一个对象中,然后通过调用对象来调用数据),只是需要几个数据,就定义了几个变量。...后期将所有需要的数据封装成一个options对象《参数可以是对象,但是不能是》
插件 http://plugins.jquery.com/ 官网推荐使用npm包的方式,带上jquery-plugin 相关插件:npm包 jquery 官方插件 http://plugins.jquery.com...很无奈,不可控的服务,唉 jquery基础 jquery定义了一个全局函数,由于使用频繁定义了一个别名即 $ 其中$和jQuery()为相同的。...'); // 将文档中的所有链接复制并插入该新div中 $('a').clone().appendTo('#linklist'); // clone不会复制事件处理程序 // 在每一个链接后插入...产生 // 包装所有元素的内容,使用字符串参数更简单 $('h1').wrapInner(''); // 产生 // 将第一个段落包装在一个锚点和...div里 $('body > p:first').wrap(''); // 将所有的其他段落包装在另一个div里