Web前端之路

字符串

2017-02-11  本文已影响19人  谢聃

字符串

1. 创建字符串(掌握)

JS中有两种字符串。

1. 基本类型的字符串

1.字符串直接量

var str = "MR_LP";     //str 基本类型的字符串 
console.log(typeof str);//弹出: String

2.转换函数(注意:没有new 关键字的)

var str = String(123);   
//把基本数据类型的Number
//转化为基本数据类型的String
console.log(typeof str); // 弹出 : String

3.引用类型

var str = new String("asd");
console.log(typeof str);//弹出:Object
  1. 对象类型

2. 字符串的length属性(了解)

字符串的length 属性的值表示的是字符串中字符的个数

var str1 = "MR_LP";       //5
vvar str2 = "大家新年好";//5

3. 字符串常用方法(重点)

1. 字符相关方法

s.charAt(index)
参数:
index
* 必选参数
表示字符串中某一个位置的数字
字符在字符串中的下标
返回值:
* 返回的是指定位置的字符
* JS中没有字符类型
* 返回的实际是一个长度为1 的字符串

    大家也可以想象为一个数组,具体下标是0 ,
    直到最后一个下标(str.length -1)
 var str = "你好呀李先生";
 console.log(str.charAt(0));//你
 console.log(str.charAt(2));//呀

2. 返回指定字符的Unicode 编码

str.charCodeAt(index)

var str = “aA0你好”
console.log(str.charCodeAt(0) );//97
console.log(str.charCodeAt(2) );//
console.log(str.charCodeAt(5) );//

3. unicode 编码中需要记住的数值

4. 字符串连接方法

var str = "你好";
console.log(str.concat("啊李先生"));//你好啊李先生
console.log(str+"啊"+"李先生");//你好啊李先生

console.log(str.concat("")== str);//true

caocat()如果连接的是一个长度为0的字符串
则会返回这个字符串本身(this)

查找字符串出现位置

查找数组:index

查找字符串:

str.indexOf(searchValue,fromIndex)

该方法返回某个指定的字符串在字符串中首次出现的位置

参数:

var str = "abcdefghikab";
console.log(str.indexOf("ab"));//0
console.log(str.indexOf("ab",1));//11
console.log(str.indexOf("z"));//-1

str.lastIndexOf(searchValue,fromIndex)

var str = "efabcedf";
console.log(str.lastIndexOf("ef"));//6
console.log(str.lastIndexOf("ef",5));//0
console.log(str.lastIndexOf("ef"6));//6
console.log(str.lastIndexOf("ef"-1));//0

截取

数组的截取是:...

字符串的截取

str.substring(start,end)

var str = "董小姐,你嘴角向下的时候很美";
console.log(str.substring(1));//小姐,你嘴角向下的时候很美
console.log(str.substring(1,3));小姐
console.log(str.substring(-1,-3));
console.log(str.substring(5,3));

如果开始大于结束对字符串没有影响

str.substr(start,length)

参数

var str = "二十四桥明月夜,何处玉人教吹箫";
console.log(str.substr(1));
console.log(str.substr(1,3));
console.log(str.substr(1,-3));// 空

在ECMA....
在IE 4 中,start 无效
开始位置强制为0

str.slice(start,end)

var str = "生命乘客改,爱情价更高";
console.log(str,slice(0,1));
console.log(str,slice(-3,1));

结束不能为0...

三中截取方式之间的差别

  1. substring()
  2. substr()
  3. slice()
    三者之间最大的差别在于 如果传递的参数为负数
  4. substring() 会将所有的负数参数转为0
  5. substr()会将第一个负数参数加上字符串的长度,第二个负数转化为0
  6. slice() 会将负值和字符串的长度相加
var str = "hell world ";//长度为11
//结果 : he
var ret1 = str substring(2,-8);
//结果 : 空
var ret2 = str substr(2,-8);

//结果 : l
var ret3 = str slice(2,-8);

字符串的大小写转换

给之前文字大小写转换用的是什么?
属性?chuansifou..?最近还有写页面吗?
文字颜色,下滑线 上划线,对其,设置文字的英文的大小写
文字倾斜是什么?文字粗体?-》文字大小写

str.toUpperCase() 转换为大写

str.toUpperCase()

str.toLowerCase()转换为小写

str.toLowerCase()

var ...

《黑客究竟是一群什么人》下午分享
精神:提倡信息和资源的共享,反对商业垄断。

  1. George Hotz
  2. Cracker
  3. Script Kiddie
  4. (冰人)马克斯 维京 ——> 网络犯罪之人
  5. 90 年代 纷纷投身 互联网
  6. 网络安全: 安全咨询,杀毒软件

字符串方法中的lastIndexOf()

参数:

去除字符串中的首尾的空白字符

str.trim()

var str ="\n \t abc    ABC  \t \n";
alert(str.trim());

字符串的替换方法

三种方法

1. replace()

replace(regExp/substr,replaceElement)

var str = "abcabc";
var newStr = str.replace("ab","**");//**cabc
console.log(newStr);

替换只针对检索到的第一个匹配到...

console.log(str.replace(/ab/ig,"**"));//**cabc
console.log(str.replace(/ab/g,"**"));//**c**c
console.log(str.replace(/AB/gi,"**"));//**cabc
gi

g:

2. match()

.match(匹配值)

var str = "abcabc";
var arr = str.match("ab");
console.loge(arr);

console.log(str.match(/ab/gi));
var str = "2017年02月08日15:25:30";
var num = time.match(/\d+/gi);
console.log

3. search()

str.search(匹配的参数)

var str = "abcabc";
var arr = str.search("ab");

console.log(arr);   //0
console.log(str.search(/ab/gi));//0

字符串的比较

~ 和字符串很类似 ~

1. ==

var str1 = "今天是个好日子";
var str2 = new String"今天是个好日子";
console.log(str1 ==str2);//true

虽然两个字符串一个是基本类型
另外一个是引用类型对象
但是他们的内容是相等的,所以返回的true

2. ===

var str1 = "哈哈";
var str2 = String"哈哈";
var str3 = new String "哈哈";
var str4 = new String "哈哈";

// 内容和类型都相等,所以恒等
console.log(str1 === str2);//true

// 虽然内容相等,但是类型不同,所以不算恒等
console.log(str1 === str3);//false

//3和4虽然内容类型都相等,
// 但他们是对象,必须是一个对象才能恒等
console.log(str3 === str4);//false

3. str.localeCompare()

str.localeCompare(other)

var str = "b";
var compare_1 = str.localeCompare("a");
console.log(compare_1);//1
var str1 = "李";
var str2 = "赵";
var compare_1 = str1.localeCompare(str2);
var str3 = "aa";
var str4 = "ab";
console.log(str3.localeCompare(str4));

字符串的切割

str.split()

str.split(separator,howmany)

var str = "how oud ra you ";
....

Math 对象

Math 主要用于做一些数学上的运算

console.log(Math.PI);

数学常用属性:E 自然对数的底数2.7 ...

console.log(Math.E);

绝对值

console.log(Math.abs(5));
console.log(Math.abs(-5));//5

最大值

console.log(Math.max(5,60,80,4));//80

最小值

console.log(Math.min(5,60,80,4));//4

返回大于等于 number 的最小整数(向上取整)

console.log(Math.ceil(13,14));//14
console.log(Math.ceil(13,-14));//13

返回大于等于 number 的最大整数(向下取整)

console.log(Math.floor(13,14));//13
console.log(Math.ceil(-13,14));//-14

四舍五入

console.log(Math.round(13.4));//13
console.log(Math.round(13.5));//14
console.log(Math.round(-13.4));//-13
console.log(Math.round(-13.5));//-14

指数

console.log(Math.pow(2,3));//8

平方根

console.log(Math.sqrt(4));//2

随机数(伪随机数)(用的特别多)

console.log(Math.random());//随机小数

随机数函数

三角函数(做特设效果)

console.log(Math.sin(Math.PI / 4));//45正弦
console.log(Math.cos(Math.PI / 4));//45余弦
console.log(Math.tan(Math.PI / 4));//45正切
随机数函数
  1. 写好注
  2. 留好退路
  3. 目标:
  1. 随机数区间的最大值
  2. 随机数区间的最小值
function Random(min,max){
    var rand = Math.random()*(max-min +1);
 /   rad = Math.floor(rand)+min;
  /  return rand;
}

传入一个3 传入一个9
0.99999* (9 - 3 + 1)
0.8888666*(9 -3 +1)
0.8888666*7
6.2
rand = Math.floor(rand) + min;
return rand;
}
for(var i = ... )

明天写:(BOM):与浏览器交互的方法和接口
(DOW)

上一篇 下一篇

猜你喜欢

热点阅读