2018-11-13 字符串方法 +作用域+常用http状态码及描述

字符串


由一对引号包起来的零到多个字符

字符串属性


length长度,通过length可以直接获取字符串中字符的个数

下标:用下标可以直接获取字符串的第n位

字符串方法


0,使用+拼接字符串

1,str.charAt()获取字符串的第n位 

         语法:string str.charAt(index)

                参数:index 对应位的下标   默认为:0

                返回值:对应位的字符

                index取值范围[0,str.length-1]

2,str.charCodeAt(index)返回指定位置的字符的Unicode编码(这个返回值是 0 - 65535 之间的整数)

        语法:number str.charCodeAt(index)

            参数:index    对应位的下标    默认为:0

                返回值:对应位字符的Unicode编码

                     index取值范围[0,str.length-1]

3,String.fromCharCode( Unicode 编码  num,num,num,num)        将 unicode 还原成字符串

        语法:string String.fromCharCode(Unicode 编码)

4,number.toFixed(n)保留n位小数 

        语法:string number.toFixed(n)

5,string.indexOf(str)方法可返回某个指定的字符串值在字符串中首次出现的位置。

    语法:number string.indexOf(str[,fromindex]);

            参数:string   完整的字符串

                        str要检索的字符串

                            fromindex  从第几个开始查找

                str在string中首次出现的位置,如果未找到返回-1

6,string.lastIndexOf()

        语法:number  string.lastIndexOf()str[,fromindex]

                和indexOf作用一样,不过是从后往前找

7,string.slice(start,end)

        语法:string   string.slice(star[,end])

                参数:start从第几位开始截取

                            end截取到第几位(不包括end位),不写end,就截取到最后

                    返回值:截取到的字符串

        注意:end小于start  不会执行。与9的区别

8,string.substr(start,length)

        语法:string string.substr(start[,length])

                参数:start  从第几位开始截取

                            length 截取几位  ,不写length  就截取到最后

                                返回值:截取到的字符串

9,string.substring(start,end)

            语法:string  string.substr(start[,end])

                    参数:start从第几位开始截取

                                 end 截取到第几位(不包括end位),不写end,就截取到最后

                            返回值:截取到的字符串   

            注意:substring 会判断两个参数的大小,小的是start,大的是end

10,str.toLowerCase()转换成小写

11,str.toUpperCase()转换成大写

12,str.trim()去掉字符串首尾空格

13,str.repeat(n)字符串重复n遍

14,str.split()根据字符串把字符串分割成数组

            语法:array  str.split(separator[,howmany])

                参数:separator   分隔符

                    howmany    最大长度

                        返回值:分割后的数组

String str1 ="aabccbdd";

String[] Str1Array = str1.split("b");//结果Str1Array:[aa, cc, dd]

15,字符串的模式匹配方法

        stringObject.match(searchvalue)

        stringObject.match(regexp)

                参数:searchvalue   必需。规定要检索的字符串值。

                            regexp   必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

16,concat();

            用于将一个或者多个字符串拼接起来,返回拼接后的到的新字符串



字符串面试题


1, JavaScript中如何检测一个变量是一个String类型?请写出函数实现

        typeof(obj)=== “string”

        typeof   obj  === “string”

        obj.constructor === String


typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。

它返回值是一个字符串,该字符串说明运算数的类型。


instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性,也可以用于判断一个变量是否是某个对象的实例,


2,请用js去除字符串空格?

        方法一:使用replace正则匹配的方法

                    去除所有空格:str = str.replace(/\s*/g,"")

                    去除两头空格:str = str.replace(/\s*|\s$/g,"")

                    去除左空格: str = str.replace(/^\s*/,"")

                    去除右空格: str = str.replace(/(\s*$)/g,"")

            str为要去除空格的字符串,实例如下:

   var   str = “ 23 23 ”;

   var  str2 = str.replace(/\s*/g,"");

      console.log(str2)//2323

方法二:使用str.trim()方法

                    str.trim()局限性:无法去除中间的空格,实例如下:

          var  str = “ xiao ming ”;

                    var str2 = str.trim();

                        console.log(str2)//xiao  ming

            同理,str.trimLeft(),str.trimRight()分别用于去除字符串左右空格。

   方法三:使用jquery.$trim(str)方法

                    $.trim(str)局限性:无法去除中间的空格,实例如下:

var str = “ xiao ming ”;

                  var str2 = $.trim(str);

                    console.log(str2);// xiao ming


                            作用域


1,作用域链:数据的查找规则,在程序中调用一条数据,先在本作用域查找,如果找不到,就从父作用域找,如果还找不到就一层一层向上找,一直找到全局作用域,如果还找不到就报错。

        全局作用域:

                在全局任意地方,都可以修改和调用

                声明在全局的变量,作用域都是全局作用域

        函数作用域:

                        声明在函数内的变量或者函数的参数,只能在该函数内进行修改和设置。

        块级作用域:

                    通过 let 或者 const 声明的变量(常量),只能在这个代码块中使用 { }

说明:js没有块级作用域,只有函数除外

            隐式全局变量:声明的变量没有var,就叫隐式全局变量

                    全局变量是不能被删除的,隐式全局变量是可以被删除的

                            定义变量使用var是不会被删除的,没有var是可以删除的




            常用http状态码及描述

2开头 (请求成功)表示成功处理了请求的状态代码。

            200   (成功)  服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 

3开头 (请求被重定向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。

            301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置

4开头 (请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。

            403   (禁止) 服务器拒绝请求。

            404   (未找到) 服务器找不到请求的网页。

5开头(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

            500   (服务器内部错误)  服务器遇到错误,无法完成请求。 

            503   (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。 

你可能感兴趣的:(2018-11-13 字符串方法 +作用域+常用http状态码及描述)