js中substr,substring,indexOf,lastIndexOf的用法小结

substr


substr(start,length)表示从start位置开始,截取length长度的字符串。
1
2
var src="images/off_1.png";
alert(src.substr(7,3));

弹出值为:off

substring


substring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符。
1
2
var src="images/off_1.png";
alert(src.substring(7,10));

弹出值为:off

indexOf


indexOf() 方法返回某个指定的字符串值在字符串中首次出现的位置(从左向右)。没有匹配的则返回-1,否则返回首次出现位置的字符串的下标值。
1
2
3
4
var src="images/off_1.png";
alert(src.indexOf('t'));
alert(src.indexOf('i'));
alert(src.indexOf('g'));

弹出值依次为:-1,0,3

lastIndexOf


lastIndexOf()方法返回从右向左出现某个字符或字符串的首个字符索引值(与indexOf相反)
1
2
3
var src="images/off_1.png";
alert(src.lastIndexOf('/'));
alert(src.lastIndexOf('g'));

弹出值依次为:6,15

Ajax初体验

语法


创建 XHR 对象:
1
var xhr = new XMLHttpRequest();

低版本的IE需要使用以下语法:

1
var xhr = new ActiveXObject('Microsoft.XMLHTTP');

兼容写法:

1
2
3
4
5
6
7
var xhr;
function createXMLHttprequest() {
if (window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
}

用法


使用 XHR 对象有两个方法:open() & send()

  • open() 接收三个参数:要发送的请求的类型(get、post等)、请求的 URL 和表示是否发送异步请求的布尔值(false为同步,true为异步。默认为true)

    默认情况下,JavaScript在发送 AJAX请求 时,URL 的域名必须和当前页面完全一致。
    完全一致的意思是,域名要相同(www.example.com和example.com不同),协议要相同(http和https不同),端口号要相同(默认是:80端口,它和:8080就不同)。

  • 1
    xhr.open("get","example.php",false);


    以上代码会启动一个针对 example.php 的 GET 请求。有两点需要注意:

    1、URL 相对于执行代码的当前页面(也可使用绝对路径)。

    2、调用 open() 方法时并不会真正发送请求,而是启动一个请求待发送。

  • 若要发送一个特定的请求,必须调用 send()方法:

  • 1
    xhr.send(null);


    send() 方法接收一个参数,即作为请求主体发送的数据。若不需要发送数据,则必须传入 null,对于某些浏览器这个参数是必需的。

    Read More

    闭包之通俗理解

    闭包的概念


    引入:变量的作用域

    要理解闭包,首先必须理解 Javascript 特殊的变量作用域。

    变量的作用域无非就是两种:全局变量和局部变量。

    Javascript 语言的特殊之处,就在于函数内部可以直接读取全局变量。

    Read More

    small tips

    1、函数一定要写返回值,否则什么都不返回。
    2、Array.from(array):将类数组转化为真正的数组。