- 浏览: 72833 次
- 性别:
文章列表
深拷贝和浅拷贝
- 博客分类:
- JavaScript
浅拷贝
所谓的浅拷贝就是拷贝指向对象的指针,意思就是说:拷贝出来的目标对象的指针和源对象的指针指向的内存空间是同一块空间.浅拷贝只是一种简单的拷贝,让几个对象公用一个内存,然而当内存销毁的时候,指向这个内存空间的所有指针需要重新定义,不然会造成指针错误
深拷贝
所谓的深拷贝指拷贝对象的具体内容,其内容地址是自助分配的,拷贝结束之后,内存中的值是完全相同的,但是内存地址是不一样的,两个对象之间相互不影响,也互不干涉.
在使用JavaScript对数组进行操作的时候,如果只是简单的将它赋予其他变量,那么我们只要更改其中的任何一个,然后其他的也会跟着改变,这就导致了问题的发生。
v ...
CSS的元素选择器除了根据id(#)、class(.)、属性([ ])选取元素以外,还有很重要的一类,就是根据元素的特殊状态来选取元素。它们就是伪类和伪元素。跟id选择器、类选择器、属性选择器以及派生选择器等等这些从HTML文档层次结构(DOM树)中获取元素不同的是,伪类和伪元素是预定义的、独立于文档元素的。它们获取元素的途径也不是基于id、class、属性这些基础的元素特征,而是在处于特殊状态的元素(伪类),或者是元素中特别的内容(伪元素)。当然,伪类和伪元素的表示形式也使用“:”(英文冒号)与其它选择器相区分。
CSS3中引入双冒号(::)是为了在伪类中,区分伪元素,如::before ...
win7安装和配置mongodb
- 博客分类:
- 安装及使用记录
之前安装配置好多次没有成功,这回终于成功啦,写篇博客出来,下次就可以顺利配置啦
1.下载安装
首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,安装包有zip和msi格式的(这里推荐下载zip格式的,msi的其实也就是进 ...
gulp如何编译sass
- 博客分类:
- 安装及使用记录
gulp是一个前端自动化构建工具,这篇文章仅介绍如何编译sass
安装Gulp之前需要先安装Node.js、sass(可参考前一篇sass安装)
首先在全局安装$ sudo npm install gulp -g
然后在终端打开工作目录
$ npm init
npm init命令会为你创建一个package.json文件,这个文件保存着这个项目相关信息。比如你用到的各种依赖(这里主要是插件)(终端会自动出现下面内容,这里一路回车到yes)
创建完之后,我们执行下面的命令:
$ npm install gulp --save-dev
这一次,我们局部安装Gulp。 ...
win7安装sass
- 博客分类:
- 安装及使用记录
sass安装:
根据实际操作的过程,总结以下步骤:(限window系统)
1、ruby安装(只管点击next即可)
因为sass依赖于ruby环境,所以装sass之前先确认装了ruby。先导官网下载个ruby
在安装的时候,请勾选Add Ruby executables to your PATH这个选项,添加环境变量,不然以后使用编译软件的时候会提示找不到ruby环境
2、安装完ruby之后,在开始菜单中,找到刚才我们安装的ruby,打开Start Command Prompt with Ruby
数组常用的一些方法
- 博客分类:
- JavaScript
数组五个迭代方法:
forEach():没有返回值,只是针对每个数组项调用指定的函数(callbackfn)
every(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,符合为true,反之为false
some(): 返回一个布尔值(true或false),判断每个数组项是否符合指定函数的条件,只要有任何一项返回为true,就会返回true
filter(): 每个数组项调用指定的函数,条件为true的将返到一个新数组中
var arr = [1,2,3]
var arr_new= that.tag.filter(item => {
...
常用字符串方法
- 博客分类:
- JavaScript
1、返回指定位置的字符
charAt() 方法可返回指定位置的字符。
str.charAt(指定位置)
2、替换字符串中的一个或者几个字符
replace(被替换的字符,新替换的字符),若第二个参数为空也可用于删除特定字符,
执行一个全局替换:
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
输出结果:
Mr Blue has a red house and a red car
执行一个全局替换, 忽略大小 ...
angular过滤器
- 博客分类:
- angular.js
转载自走进AngularJs(七) 过滤器(filter)(转载过来的,教程写的很详细很好懂,码一个)
过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。
一 filter的两种使用方法:
在模板中使用filter
我们可以直接在{{}}中使用filter,跟在表达式后面用 | 分割,语法如下:
{{ expression | filter }}
也可以多个filter连用,上一个filter的输出将作为下一个filter的输入
记录在使用git时用到的
一、远程仓库
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下 ...
js终止函数
- 博客分类:
- JavaScript
在写代码的过程中遇到了一个小问题,当把一条数据删除后,函数依然会继续往下进行,对数据进行操作,如此一来便会报错。所以特意学习了一下终止函数执行操作,在删除数据之后便停止执行。
语法为:return 表达式; 语句结束函数执行,返回调用函数,而且把表达式的值作为函数的结果
retrun true; 返回正确的处理结果(继续执行)。
return false;分会错误的处理结果,终止处理。(return false 只在当前函数有效,不会影响其他外部函数的执行)
return;把控制权返回给页面(终止执行)。
实例:
function eat(){
alert( ...
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方 ...
总是被JS中的undefined,null,"",0和false耍的晕头转向,索性把它们汇总起来总一个比较。
这几个家伙都是JavaScript中的"空值"和"假值",除了boolean值本身就是true和false这两种情况外,其它数据类型的"空值"主要是undefined和defined这两大类。这些空值的类型分别是:
typeof(undefined) == 'undefined'
typeof(null) == 'object'
typeof("") == 'str ...
jquery选择器多种使用
- 博客分类:
- jquery
常用jQuery选择器
$(this)当前 HTML 元素
$("p")所有 <p> 元素
$("p.intro")所有 class="intro" 的 <p> 元素
$(".intro")所有 class="intro" 的元素
$("#intro")id="intro" 的元素
$("ul li:first")每个 <ul> 的第一个 <li> 元素
$("[ ...
如何把对象转换成数组
- 博客分类:
- JavaScript
Lodash是一个著名的javascript原生库,不需要引入其他第三方依赖。是一个意在提高开发者效率,提高JS原生方法性能的JS库。文档可通过官网下载,也可点此链接下载https://pan.baidu.com/s/1dFNYB8P(被吞了可以留言联系我)
在lodash中有两种对象转换成数组的方法,一种是使对象属性值转换成数组,另一种是使对象的属性名转换成数组。
一:_.values(使对象属性值转换成数组)
_.values(object)
(Array): 返回对象属性的值的数组。
var items={"可口可乐":{&quo ...
字符串转换成数字的三种方法
- 博客分类:
- JavaScript
最近经常遇到关于类型转换的问题,索性上网搜搜在此总结一篇
js字符转换成数字主要有三种可用的方法:转换函数、强制类型转换、利用js变量弱类型转换。
1. 转换函数:
js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行,对其他类型返回的都是NaN
parseInt() 函数
可解析一个字符串,并返回一个整数。
parseInt(string, radix)
radix 可选。表示要解析的数字的基数(进制)。该值介于 2 ~ 36 之间。
如果省略该参数或其值为 ...