1 函数
定义普通的函数
function func(a,b){
return a+b;
}
func(3,14)
17
定义匿名函数
代码块
var h=function () {console.log('hello,world')};
h() 调用匿名函数
代码块:匿名函数
自执行函数
代码块
(function (a,b){return a+b})(23,34)
2 使用匿名函数遍历js数组中的元素
代码块:
var a=[11,22,33,44,55];undefined
a.forEach(function(i){console.log(i)})
使用=>代替function
var a1=[1,2,3,4,5];
a1.forEach((i)=>{console.log(i);
})
3 函数的返回值
代码块
function bar(){return 1,2,3}
var a=bar()
a的结果是3
代码块
function foo(a,b){return a+b}
foo(1,2,3)
3
4 调用函数修改变量的值
代码块
var x2=200;
function f2(){console.log(x2+=1);
}
x2
200
f2()
201
x2
201
5函数调用的原则
代码块
var city ='beijing';
function f(){
var city = 'shanghai';
function inner(){
var city = 'shenzhen';
console.log(city);
}
inner();
}
undefined
f();
web-1f56e6c0002eee5b1e6f.js:1 shenzhen
6:函数返回值加(),调用其它函数
代码块
var city = 'beijing';
function Bar(){
console.log(city);
}
function f(){
var city = 'shanghai';
return Bar;
}
undefined
var ret = f();
ret();
web-1f56e6c0002eee5b1e6f.js:1 beijing
7:敲重点 foo()结果是多少?
代码块
var age = 18;
function foo(){
console.log(age);
var age = 22;
console.log(age);
}
undefined
foo();
web-1f56e6c0002eee5b1e6f.js:1 undefined
web-1f56e6c0002eee5b1e6f.js:1 22
8:foo()执行结果是多少:词法分析
代码块
var age = 18;
function foo(){
console.log(age);
var age = 22;
console.log(age);
function age(){
console.log('hello');
}
console.log(age);
}
undefined
foo();
web-1f56e6c0002eee5b1e6f.js:1 ƒ age(){
console.log('hello');
}
web-1f56e6c0002eee5b1e6f.js:1 22
web-1f56e6c0002eee5b1e6f.js:1 22
9:创建字符串对象,切片
代码块
var s2='wangsiyu';
undefined
var s3= new String('wangsiyu');
undefined
s2
"wangsiyu"
s3
String {"wangsiyu"}
s2.length
8
s2.slice(2,5);
"ngs"
typeof s2;
"string"
typeof s3;
"object"
10:js中字典的操作
代码块
var o1={'name':'wangsiyu','age':18};
undefined
o1.length
undefined
for (var i in o1){
console.log(i);
}
web-1f56e6c0002eee5b1e6f.js:1 name
web-1f56e6c0002eee5b1e6f.js:1 age
undefined
o1['name']
"wangsiyu"
o1.name;
"wangsiyu"
11:Date时间对象
代码块
var d= new Date;
d
Wed Sep 18 2019 20:55:55 GMT+0800 (中国标准时间)
d.toLocaleString();
"2019/9/18 下午8:55:55"
d2=new Date('2018/12/31');
Mon Dec 31 2018 00:00:00 GMT+0800 (中国标准时间)
d2
Mon Dec 31 2018 00:00:00 GMT+0800 (中国标准时间)
Date方法
var d= new Date();
undefined
d.getDate();
18
d.getDay();
3
d.getMonth();
8
d.getFullYear();
2019
d.getHours();
21
d.getMinutes();
15
d.getSeconds();
32
12:json对象跨语言格式(一种和语言没有关系的字符串格式)
代码块
var info ={name:'wangsiyu',age:18};
undefined
#序列化
var res=JSON.stringify(info);
undefined
res
"{"name":"wangsiyu","age":18}"
#反序列化
var res2=JSON.parse(res);
undefined
res2
{name: "wangsiyu", age: 18}
13:RegExp对象正则表达式
验证手机号
代码块
var r1= new RegExp('^1[3-9][0-9]{9}$');
undefined
r1.test("17605811524");
true
还是验证手机号,正则表达式的简写
代码块
/^1[3-9][0-9]{9}$/.test("17604736273")
true
匹配用户名:6到10位字母,首字母不能为数字
代码块
var r3= new RegExp('^[a-zA-Z][a-zA-Z0-9]{5,9}');
undefined
r3.test('wangsiyu');
true
r3.test('helloworld');
true
字符串替换
i 表示忽略大小写,g表示全局,有几个就替换几个
字符串替换
全局g的lastIndex光标也会动。
lastIndex
lastIndex会随着匹配往后位移,直到匹配错误,重新恢复为0
代码块
var r5 =/alex/g;
undefined
r5.test('alex');
true
r5.lastIndex;
4
r5.test('hellalex');
true
r5.lastIndex;
8
r5.test('hellwordalex');
true
r5.test('alex');
false
r5.test('alex');
true
网友评论