javaScript

abstract

字符串操作

substring

截取字符串(“有始无终”)

var s = "abcd";
s.substring(1,3); -> "bc"

$.trim()

$.trim() 函数用于去除字符串两端的空白字符。

var s = "          123 123 456      "
$.trim(s); -> "123 123 456"

AJAX

一、$.ajax()

该方法是 jQuery 底层 AJAX 实现。

1、async

类型:Boolean

默认值: true。

默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。两条并列AJAX要区分先后顺序的话应采取同步

2、cache

类型:Boolean

默认值: true。

dataType 为 script 和 jsonp 时默认为 false。设置为 false 将不缓存此页面。

3、contentType

类型:String

默认值: “application/x-www-form-urlencoded”。

请求发送信息至服务器时内容编码类型。
默认值适合大多数情况。如果你明确地传递了一个content-type给 $.ajax() 那么它必定会以设定类型发送给服务器(即使没有数据要发送)。

4、success

类型:Function

请求成功后的回调函数。

参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。

这是一个 Ajax 事件。

5、error

类型:Function

默认值: 自动判断 (xml 或 html)。请求失败时调用此函数。

有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。

如果发生了错误,错误信息(第二个参数)除了得到 null 之外,还可能是 “timeout”, “error”, “notmodified” 和 “parsererror”。

这是一个 Ajax 事件。

6、type

类型:String

默认值: (“GET”)。

请求方式 (“POST” 或 “GET”), 默认为 “GET”。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。

7、url

类型:String

默认值: 当前页地址。

发送请求的地址。

8、dataType

类型:String

预期接收服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断.

  1. “xml”: 返回 XML 文档,可用 jQuery 处理。
  2. “html”: 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
  3. “script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
  4. “json”: 返回 JSON 数据 。
  5. “jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
  6. “text”: 返回纯文本字符串

9、data

类型:String

发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:[“bar1”, “bar2”]} 转换为 ‘&foo=bar1&foo=bar2’。

$.ajax({
  type: "POST",
  async: true,
  cache: true,
  url: "ajax.php",
  dataType: "json",
  data: {"username": "bbdog","password": 123456},
  contentType: "",
  success: function(msg) {
    console.log(msg)
  },
  error: function() {
    console.log("error")
  }
})

二、$.post()

语法

jQuery.post(url,data,success(data, textStatus, jqXHR),dataType)

url

必需。规定把请求发送到哪个 URL。

data

可选。映射或字符串值。规定连同请求发送到服务器的数据。

success(data, textStatus, jqXHR)

可选。请求成功时执行的回调函数。

dataType

可选。规定预期的服务器响应的数据类型。

默认执行智能判断(xml、json、script 或 html)。

三、$.get()

$(selector).get(url,data,success(response,status,xhr),dataType)

参数于post()方法类似

选择器

.val()
.html()
.text()

操作DOM

remove()和empty()

删除元素/内容
如需删除元素和内容,一般可使用以下两个 jQuery 方法:

remove() - 删除被选元素(及其子元素)
empty() - 从被选元素中删除子元素

append()和appendTo

$(selector).append(content)
$(selector).append(function(index,html))

$(content).appendTo(selector)

Tips:append() 和 appendTo() 方法执行的任务相同。不同之处在于:内容和选择器的位置,以及 append() 能够使用函数来附加内容。

.val()
.html()
.text()

text()

//返回文本内容
$(selector).text();
//设置文本内容
$(selector).text(content);
//使用函数设置内容
$(selector).text(function(index,oldcontent))
$(selector).attr({attribute:value, attribute:value ...})

class

//添加样式
$(selector).addClass(class)
//同时添加多个中间用空格隔开
//移除样式
$(selector).removeClass(class)

属性

attr

//返回属性值
$(selector).attr(attribute)
//设置属性值
$(selector).attr(attribute,value)
//移除属性值
$(selector).removeAttr(attribute)

可以操作标签的属性和样式的属性;
css

//返回属性值
$("p").css("background-color");
//设置属性值
$("p").css("background-color","yellow");

隐藏与显示

查看显示与隐藏

$('div:visible'); // 所有可见的div
$('div:hidden'); // 所有隐藏的div

1.hide()和show()

//隐藏
$(selector).hide(speed,callback);
//显示
$(selector).show(speed,callback);
可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。

2.toggle()

//显示被隐藏的元素,并隐藏已显示的元素:
$(selector).toggle(speed,callback);

3.css(‘display’,*)

$("#id").css('display','none');//隐藏
$("#id").css('display','block');//显示
或者
$("#id")[0].style.display='none';

4.css(‘visibility’,*)

$("#id").css('visibility','hidden');//元素隐藏
$("#id").css('visibility','visible');//元素显示

display:none与visible:hidden的区别

visible保留'物理空间',display不保留'物理空间'

数据类型转换

typeof()

typeof()可以用来检测给定变量的数据类型,它将返回一个字符串,表示表达式的类型,而表达式的类型只有六种可能:

  1. number
  2. string
  3. boolean
  4. object
  5. function
  6. undefined

转为数字类型

转为Int

var iNum1 = parseInt(“1234blue”); -> 1234   
var iNum2 = parseInt(“oxA”); -> 10   
var iNum3 = parseInt(“22.5″); -> 22   
var iNum4 = parseInt(“blue”); -> NaN

基模式转为Int

var iNum1 = parseInt(“AF”,16); -> 175   
var iNum2 = parseInt(“10″,2); -> 2   
var iNum3 = parseInt(“10″,8); -> 8   
var iNum4 = parseInt(“10″,10); -> 10

如果以0开头最好使用十进制基模式

var iNum1 = parseInt(“010″); -> 8   

转为Float

var fNum1 = parseFloat(“1234blue”); -> 1234.0   
var fNum2 = parseFloat(“0xA”); -> NaN   
var fNum3 = parseFloat(“.22.5″); -> 0.22   
var fNum5 = parseFloat(“0908″); -> NaN   
var fNum6 = parseFloat(“blue”); -> NaN

转为字符串类型

使用toString()方法,常用源数据有Boolean、number、String

1.Boolean

var b = true;
b.toString(); -> "true"

2.number[默认模式]

var num1 = 10.00;
num1.toString(); -> "10"

3.number[基(进制基数)模式]

var iNum = 10;   
alert(iNum.toString(2)); -> “1010″   
alert(iNum.toString(8)); -> “12″   
alert(iNum.toString(16)); -> “A”

replace()

String.replace(regexp/substr,replacement);

var s = "abcd"
s = s.replace("a","z"); -> "zbcd"
s = s.replace(/c/,"z"); -> "zbzd"
s = s.replace(/z/g,"a"); -> "abad"
s = s.replace()

将json对象序列化为json字符串

contentType: ‘application/json’
JSON.stringify(JSONObject)

服务器端可以用JSON.parse将json串还原成JSONObject

数字计算

“四舍六入五成双”的toFixed

当有效位后一位,≤4 时舍去,≥6时进1;当等于5时,先判断5后是否还有数,有则进;无数时再判断5数的奇偶性,前为奇数则进1,否则舍去。
不同浏览器执行不同ES标准,计算时可能有所不同(尤其IE浏览器)

toFixed()返回数字形式的字符串,可参与运算
可以用toFixed补全小数点数。

取整Math.round()

可先*100 再/100 用于四舍五入。

和传统四舍五入最接近,当有效位后一位,≤4 时舍去,≥6时进1,当等于5时,向正无穷方向取整

待认领

window.confirm

.dialog

.parents

$(this)

.siblings

.not

.eq

.each

.prev

.live

.is

.before

.match

数据为空的几种方式
null “” undefined
正则