Javascript——字符串类型详解及运算符和流程控制语句

字符串类型详解

在下面篇幅中将会用到此输出函数。

function dw(value){
	document.write(value + "\<br/>")//JS不会自动换行
}
  • 1、声明字符串的方式
var s = "abc";
var s1 = new String("abc")
var s2 = String("abc")
  • 2、字符串拼接
  • 2.1、+拼接符(可以和任意类型的数据拼接,结果都是字符串类型的)
s = "hello"
var new_s = s+10
dw(new_s)//hello10
dw(typeof new_s)

var new_s = s+true
dw(new_s)//hellotrue
dw(typeof new_s)
  • 2.2、concat拼接(可以拼接多个数据)
new_s = s.concat(10,"good","nice")
dw(new_s)
  • 3、获取字符串的长度
var l = new_s.length
dw(l)
  • 4、获取指定位置的字符
var ch = new_s[0]
dw(ch)

ch = new_s.charAt(0)//括号中也是索引
dw(ch)
  • 5、返回某个子串在字符串中第一次出现的位置
var index= new_s.indexOf()//两个参数:待查找的子串,从哪开始(默认从0开始)
//找到返回指定位置, 找不到返回-1
//例如:
var index = new_s.indexOf("o")
  • 6、获取某个子串在字符串中最后出现的位置
var index = new_s.lastIndexOf()//两个参数:带查找的子串,查找的终点位置,默认在结尾
var index = new_s.lastIndexOf("m")
dw(index)

varindex = new_s.lastIndexOf("o",5)
dw(index)
  • 7、获取子串

  • 7.1(开始索引,结束索引)[结束索引不包含在内]

var sub_str = new_s.substring(1,4)
dw(sub_str)
  • 7.2(起始位置,截取长度)
new_s = "t"+true
var sub_str = new_s.substr(1,4)
dw(sub_str)
  • 7.3(开始索引,结束索引)[结束索引不包含在内]
sub_str = new_s.slice(1,4)
dw(sub_str)
  • 8、将字符串中的字母转换为大写
var upper_str = new_s.toUpperCase()
dw(upper_str)
  • 9、将字符串中的字母转换为小写
var lower_str = new_s.toLowerCase()
dw(upper_str)
  • 10、切割字符串
s = "hello nice to meet you"
var sub_arr = s.split("  ")//切割符:可以使字母,字符串,还
dw(sub_arr)


可以是正则表达式
s = "good13lucky33"
sub_arr = s.split(/[^0-9]+/)
dw(sub_arr)
  • 11、替换字符串
s="cat dog cat dog"
var replace_str = s.replace("cat","CAT")
dw(replace_str)//只换了查找到的第一个

这里先介绍一个函数(lambda 形参 : 表达式返回值):
匿名函数(一次性函数,执行完立即释放内存)
function(形参){
函数体
return 返回值
}
——>

replace_str = s.replace("cat",function(old_str, index, index, src_str){dw(old_str + "----" + index + "----" + src_str)
return " "
})
dw(replace_str)
  • 12、全部替换成指定字符串(重构函数)
function cus_replace(src_str, old_str, new_str){
	if(src_str.indexOf(old_str) == -1){
		return src_str
	}else{
		var new_s = src_str.replace(old_str, new_str)
		return cus_replace(new_s, old_str, new_str)
	}
}
s = "cat dog dog cat cat"
var res = cus_replace(s, "cat", "CAT")
dw(res)

可变参数
Python中是*args
JS函数本身就是可变参数的
函数调用传值时 传递的实参个数可以多于形参个数的
例如:

function add_two(a,b){
	return a+b
}

var res = add(123,345,567)
dw(res)//我们得到的值,依旧是123+345的结果

这是因为:在函数体中有一个属性->object类型的arguments,存放着调用这个函数时传递过来的所有实参
通过遍历arguments,我们可以得到这个函数的所有实参。

function(a,b){
	dw(arguments.length);
	for(var i=0;i<arguments.length;i++){
		dw(arguments[i])
	}
	return a + b
}

运算符与流程控制语句

运算符

算术运算符
	+ - * / % 自加++ 自减--
	x++先运算,后++
	++x 先++,后参与运算
关系运算符
	>  <  >=   <=   ==   != 
	
		===
			== 只判断数内容是否一样   不验证类型
			=== 数据和类型一致  结果为true
	 dw("123" == 123)
	 dw("123" === 123)
	 
	 dw(null == undefined)
	 dw(null === underfined)
逻辑运算符
	&& 逻辑与     || 逻辑或
	逻辑与和逻辑或是有断路原则的
	&&  :一假全假,左边假则右边表达式不参与运算,如果后面跟着 逻辑或  直接执行逻辑或右边表达式
	||     :一真全真,左边表达式成立  右边表达式不参与运算
		var x = 10,y=11
		var res = (x++ >=y  && --y <= x || ++x >11)
		dw(res)
		dw(x)
		dw(y)
三元运算符
 条件表达式? 表达式1  :表达式2
 	条件表达式成立,取1的结果,否则取2的结果
赋值运算符
	 =  +=   -=   *=  /=   %=
转义符
	\r  \n

流程控制语句

顺序语句
分支语句
判断语句

	if(条件表达式){
			满足条件执行的语句
	}
	else{
			不满足条件执行的语句
	}
	
	if(条件表达式){
		满足条件执行的句
	}
	else if(条件表达式1){
		执行语句
	}
	else{
	}
选择语句
	switch-case
		shell中case
					case  表达式 in:
							结果1) ...
							;;
		JS中
				switch(表达式){
						case 结果1:
								执行语句
								break
						case  结果2:
								执行语句
								break
						default:
								执行语句
								break
				}
		表达式的结果必须是个常量  固定的值
		default  当case中没有满足表达式的结果时,执行default
		barek  结束选项
function dw(value){//函数dw用于将内容输出到文档页面上
	document.write(value + "<br/>")//JS不会自动换行
}
var score = 70;
if(score >= 90){
	dw("A")
}else if(score >=80 ){
	dw("B")
}else if(score >= 70){
	dw("C")
}else if(score >= 60){
	dw("D")
}else{
	dw("E")
}
//转化成switch - case
switch(score/10){
	case 10:
		dw("A")
		break
	case 9:
		dw("A")
		break
	case 8:
		dw("B")
		break
	case 7:
		dw("C")
		break
	case 6:
		dw("D")
		break
	default:
		dw("E")
		break
}

循环语句
for
for in
for(变量 in 容器){
变量是容器中元素对应的索引
}

for(;;){
}//死循环==while(true)

whiledo-while

var num=1,sum=0
while(num<=10){
	sum+=num;
	num++;
}
dw(sum)
//do-while
do{
	dw("do内的操作")
}while(false);//先执行,后判断
do{
	sum+=num;
	num++;
}while(num<=10)
dw(sum)
//for
var sum=0
for(var n=1;n<=10;n++){
	sum+=n
}
dw(sum)

for(var i=1,j=5;i<=100;i++,j+=5){
	dw(i+"+"+j+"="+(i+j))
}
//for in
arr = [12,34,56]
for(i in arr){
	dw(i)
	dw(arr[i])
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值