js小结

1.js引入
//单行注释
/**/多行注释
方式1:
script>
alert('kuail')
</script>
方式2
<script src="t830.js"></script>
JavaScript中的语句要以分号(;)为结束符。也就是说和缩进没关系了

2.变量声明:
var let const
3.基础数据类型
3.1数值类型 number
整数 浮点数 NaN
3.2字符串
var s1='hello'
var s2='world'
var s3=s1+s2
字符串的常用方法
var s='hello'
s.length() 长度
s.trim 移除两边空白 s.trimleft()
s.concat() 字符串拼接 s.concat(s2)
s.indexof 通过元素找索引 s.indexof('e')
s.charAt(n) 通过索引找元素 s.charAt(1) 'e'
s.slice() 切片 s.slice(1,3)
s.split()分割 s.split('e',2) ['h','llo']
s.tolowerCase() 全部变小写
s.toUpperCase() 全部变大写
3.3布尔值
var a=true;
var b=false;
空的数据类型也是false,'',0,NaN,null,undefined

null和undefined
null 空值,一般用来清空一格变量值来用
undefined var a,声明了变量,但是未赋值

类型转化
parseInt('111')
parseFloat('1.aa')
复杂数据类型
数组
var a=[11,22,33]
var a=new Array[11,22,33]
typeof a --object类型
数组常用方法
a[1] ---1是索引。索引取值
a.length--数组长度
a.push() 尾部追加 a.push('aa')
a.pop() 尾部删除
a.unshift()头部追加 a.unshift('aa')
a.shift()头部删除
a.sort()
function sortNumber(a,b){return a-b} 升序 a.sort(sortNumber)
a.slice()切片
a.splice()删除元素 a.splice(索引,删除几个,新值) a.splice(1,2,'aa','bb')
a.reverse()反转 --元数组上反转
a.join('+') 元素平均。里面写的连接符
a.concat()
va b=['aa','bb']
a.concat(b) --类型python的extend
自定义对象
var a ={'name':'yt',age:18}
a.name\a['name'] 取值
for(var i in a){
console.log(i,a[i])
}

运算符
算数运算符
+ - * / % i++ ++i
比较运算符
> >= < >= != !== == ===
逻辑运算符
&& || !与或非
赋值运算符
+= -=
流程控制
if switch 这边注意break ,会穿透下去
while
三元运算符
a>b?a:b
for 循环
var d =[11,22,33]
方式1:for (var i in d){ //i是索引,python中的for i in [11,22,33] i 是元素
console.log(i,d[i])
}
方式2:
for (var i =0;i<d.length;i++){
console.log(i,d[i]);
}

循环遍历自定义对象
var a ={'name':'yu',age:18}
for (var i in a){
console.log(i,a[i])
}
函数:
function f1(){
console.log('6666')
}
function f2(a,b){
return a+b
}
匿名函数
var sum=function(a,b){return a+b};
sum(1,2)
python的匿名函数
变量名= lambda 参数:表达式(block)
let=lambda x,y:x+y

自执行函数
(function(a,b){return a+b})(1,2)

作用域:
函数变量,从自己那一层逐层往外找
闭包
function outer(){
var 0=10;
function inner(){
console.log(o)
}
return inner;
}
var ret=outer

ret()

面向对象,下面是es5的。了解一下即可

function Person(a,b){
this.a=a; this -->python的self
this.b=b;
}
Person.prototype.f1=function(c,d){return c+d;} 原型法。ES5的
var p =new Person('aa','bb')
p.a ---'aa'
p.b ---'bb'
p.f1(1,2)

Date对象
var d=new Date(); 当前时间日期对象
d.tolocalString();
date对象的常用方法
var d = new Date();
//getDate() 获取日
//getDay () 获取星期 ,数字表示(0-6),周日数字是0
//getMonth () 获取月(0-11,0表示1月,依次类推)
//getFullYear () 获取完整年份
//getHours () 获取小时
//getMinutes () 获取分钟
//getSeconds () 获取秒
//getMilliseconds () 获取毫秒
//getTime () 返回累计毫秒数(从1970/1/1午夜),时间戳


JSON
var str1 = '{"name": "chao", "age": 18}';
var obj1 = {"name": "chao", "age": 18};
// JSON字符串转换成对象
var obj = JSON.parse(str1);
// 对象转换成JSON字符串
var str = JSON.stringify(obj1);

上一篇:AcWing 905. 区间选点 贪心


下一篇:分享两道Go语言字符串切片的练习题,附参考答案