文档章节

javascript使用笔记

吟啸_徐行
 吟啸_徐行
发布于 2013/04/01 17:02
字数 1087
阅读 121
收藏 0
点赞 0
评论 0

问题1:(函数返回值问题)

今天这问题算是把头搞大了

var str="    1   21  rtrt";//长度为16

str.replace(/(\s+)/g,'');//将空格全部去掉

console.log(str.length);//长度还是16,有人知道这是为什么么?为什么字符串改变了,但是长度却不变啊。

总算是发现了,replace只是个返回值的函数,它不改变原来的字符串。哎,感觉又一次重复了这种函数返回值问题

问题2:(闭包问题)

今天碰到事件的函数中又绑定一个函数(事件嵌套),结果是里层事件会在每次外层事件执行的时候重复绑定(累加的趋势,貌似就像对象多次创建一样),结果是里层事件触发的时候次数会等于重复绑定次数,所以要注意不要随便事件里面嵌套事件。

2014/2/20号又是嵌套了,结果是外层触发后里层才能触发,如果这时又触发了别的事件则里面的事件又无法触发了,这时咋回事啊(刚明白了,原来是原来绑定事件的元素执行时被刷新成新元素了,还是该用jquery的delegate或者live方法绑定才行,详情看http://my.oschina.net/wizardpisces/blog/201623

问题3:(clone问题)

jquery的$(element).appendTo(container)会先remove element,然后才append到container,为了防止原始元素被删除可以$(element).clone().appendTo(container)

问题4:(元素属性改变问题,未解决)

当使用$(element).css({"background":"white"});改变background后,css伪类hover对element的作用就失去了,暂时不知道是怎么回事

问题5:mouseenter和mouseleave的区别

 $("li").each(function(i) {
            //删除的鼠标划过的显示与隐藏
            $(this).mouseover(function() {
                $(this).find(".del").fadeIn(10);
            })
            $(this).mouseleave(function() {
                $(this).find(".del").fadeOut(10);
            })
        })

上面的代码中如果不是用的mouseleave而是mouseout的话你会发现尚未离开类名的.del这个DIV这个DIV有时候就会闪动。那是因为你可能离开了该DIV的子元素,所以会出发mouseout事件。具体mouseleave和mouseout两者之间的区别主要有以下两点:

1.不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。

2.只有在鼠标指针离开被选元素(整个区域)时,才会触发 mouseleave 事件。

问题6,防止XSS的经典方法

function htmlEncode(html)
{
arguments.callee.textNode.nodeValue=html;
return arguments.callee.div.innerHTML;
}
htmlEncode.textNode=document.createTextNode("");
htmlEncode.div=document.createElement("div");
htmlEncode.div.appendChild(htmlEncode.textNode);
将数据转为文本

问题7,new Date()的初始化参数

new Date(年,月,日,时,分,秒);

谷歌浏览器支持的参数种类比较多,但是到了其它浏览器就出问题了

要注意0表示一月

问题8,console.log()问题

在低版本的IE内核浏览器中,console.log()会中断后面代码的执行,所以在最后一定要删掉或注释掉console.log;

问题9,lastIndex(方法 RegExp.exec() 和 RegExp.test() 的共同起始检索位置)

var re1 = /.*bbb/g;

alert(re1.test("abbbaabbbaaabbbb1234")+"");//true

alert(re1.exec("abbbaabbbaaabbbb1234")+"");//null

alert(typeof(re1));//object从未被改变过

看到了半天也不晓得为什么,http://www.w3school.com.cn/js/jsref_lastindex_regexp.asp是lastIndex的详解,看了你就恍然大悟了

问题10:javascript获取某个月的天数方法

Javascript里面的new  Date("xxxx/xx/xx")这个日期的构造方法有一个妙处,当你传入的是"xxxx/xx/0"(0号)的话,得到的日期是"xx"月的前一个 月的最后一天("xx"月的最大取值是69,题外话),如果传入"1999/13/0",会得到"1998/12/31"。而且最大的好处是当你传 入"xxxx/3/0",会得到xxxx年2月的最后一天,它会自动判断当年是否是闰年来返回28或29,不用自己判断,太方便了!!所以,我们想得到选 择年选择月有多少天的话,只需要

var d=new Date("选择年/选择月+1/0");

alert(d.getDate());

而且getMonth()获取的月数需要+1才是真实值

问题11:位移运算只用于整数,如果带小数的数据参与位移运算会被取整 移动0位其实并没有移动,只是取整了

mround = function (r) { return r >> 0; }

问题12:Google Chrome不支持本地添加cookie,其他浏览器测试没问题

To be continued.....

© 著作权归作者所有

共有 人打赏支持
吟啸_徐行
粉丝 18
博文 108
码字总数 15604
作品 0
深圳
程序员
《JavaScript权威指南》笔记(二)

第二篇笔记的内容主要涉及:数据类型转换,函数、对象、数组的创建以及null与undefined的比较。 1. javascript中类型转换的方法: (1)数字-->字符串: number+" "; String(number); number...

小微
2012/08/28
0
7
读《JavaScript高级程序设计》

1、JavaScript学习笔记1:JavaScript学前介绍 http://my.oschina.net/bluefly/blog/478575 2、JavaScript学习笔记2:JavaScript基本概念 http://my.oschina.net/bluefly/blog/484445......

slyso
2015/07/14
0
0
JEPLUS平台JS事件的操作技巧——JEPLUS软件快速开发平台

JEPLUS平台JS事件的操作技巧 JEPLUS平台使用的是EXTJS4,很多时候一些客户不清楚平台JS事件的API怎么调用,以及JS事件API都有哪些,所以今天这个笔记就简单介绍一些JEPLUS平台JS事件的一些操...

JEPLUS
06/27
0
0
JavaWeb01-HTML篇笔记(七)

.1 案例三:完成对注册页面的数据的简单校验.1.1.1 需求: 对注册页面的数据进行非空的简单校验!!!如果有某个值没有输入,点击提交,弹出一个对话框进行提示!! 1.1.2 分析:1.1.2.1 技术分...

我是小谷粒
04/28
0
0
day03_js学习笔记_03_js的事件、js的BOM、js的DOM

day03js学习笔记03_js的事件、js的BOM、js的DOM ============================================================================= 涉及到的知识点有: ==================================......

黑泽明军
04/19
0
0
按钮配置之自定义按钮使用(二)— JEPLUS软件快速开发平台

JEPLUS按钮配置之自定义按钮使用(二) 之前的一篇笔记讲的是在列表上添加自定义按钮来完成自己的业务需求,今天这篇笔记就主要讲一下如何在表单上添加自定义按钮来实现自己的业务需求。 一、...

JEPLUS
06/20
0
0
JEPLUS前台API的查看使用——JEPLUS软件快速开发平台

JEPLUS前台API的查看使用 很多朋友在使用JEPLUS平台的时候会遇到很多时候需要写JS事件,但是很多时候不清楚平台支持的JS事件的写法,所以今天这篇笔记就讲解一下如何来查看平台的前台API,以...

JEPLUS
06/29
0
0
js的array实现栈数据结构

申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步; 首先在阅读本文之前,默认你已经知道了javascript的数组类型,并且了解array的pop()和push方法;这里对这...

XBGG
07/03
0
0
day02_js学习笔记_01_js的简介、js的基本语法

day02js学习笔记01_js的简介、js的基本语法 ========================================================================================================================================......

黑泽明军
04/18
0
0
关于egret引用第三方库的笔记

关于egret引用第三方库的笔记 当前我需要使用一个第三方的js库(umeng的js统计): 我创建个UmengAnalysis.js文件,代码如下: /** * Created by haocao on 15/6/25. */ var umeng;(function...

flyoahc
2015/06/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring boot中swagger2使用

1.pom.xml中添加 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>......

说回答
7分钟前
0
0
tomcat虚拟路径的几种配置方法

tomcat虚拟路径的几种配置方法 一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_ho...

Helios51
19分钟前
1
0
Mac 安装jupyter notebook的过程

MAC台式机 python:mac下自带Python 2.7.10 1.先升级了pip安装工具:sudo python -m pip install --upgrade --force pip 2.安装setuptools 工具:sudo pip install setuptools==33.1.1 3.安装......

火力全開
24分钟前
0
0
导航守卫解释与例子

“导航”表示路由正在发生改变。 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。 记住...

tianyawhl
24分钟前
0
0
Java日志框架-logback配置文件多环境日志配置(开发、测试、生产)(原始解决方法)

说明:这种方式应该算是最通用的,原理是通过判断标签实现。 <!-- if-then form --> <if condition="some conditional expression"> <then> ... </then> </if> ......

浮躁的码农
39分钟前
1
0
FTP传输时的两种登录方式和区别

登录方式 匿名登录 用户名为: anonymous。 密码为:任何合法 email 地址。 授权登录 用户名为:用户在远程系统中的用户帐号。 密码为:用户在远程系统中的用户密码。 区别 匿名登录 只能访问...

寰宇01
40分钟前
0
0
plsql developer 配置监听(不安装oracle客户端)

plsql developer 配置监听(不安装oracle客户端)

微小宝
47分钟前
1
0
数据库(分库分表)中间件对比

本人的宗旨就是,能copy的,绝对不手写。 分区:对业务透明,分区只不过把存放数据的文件分成了许多小块,例如mysql中的一张表对应三个文件.MYD,MYI,frm。 根据一定的规则把数据文件(MYD)和索...

奔跑吧代码
51分钟前
2
0
Netty与Reactor模式详解

在学习Reactor模式之前,我们需要对“I/O的四种模型”以及“什么是I/O多路复用”进行简单的介绍,因为Reactor是一个使用了同步非阻塞的I/O多路复用机制的模式。 I/O的四种模型 I/0 操作 主要...

hutaishi
57分钟前
1
0
【2018.07.16学习笔记】【linux高级知识 20.16-20.19】

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

lgsxp
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部