正则表达式(用来查找和检测)
方括号[]==需要匹配的字符 花括号{}==需要匹配的数量 圆括号()==用来进行分组
caret ^ 表示开始 dollars $ 表示结束 + 表示多个 * 表示0个或者多个 ? 表示0个或者1个 正则^取反[^abc]
正则表达式空格也算字符
查找数字 \d===[0-9]
单词字符 \w===[a-z]
<script>
var RegExp =/^\d$/;
var str = "2";
console.log(RegExp.test(str));//[0-9]之间的数字;只能是单独的一个;返回为true;
var RegExp =/^\d+$/;
var str = "233";
console.log(RegExp.test(str));//+表示可以出现多个数字;返回为true;
var RegExp =/^\d*\w*$/;
var str = "23322abcd";
console.log(RegExp.test(str));//*表示可以出现0个或者多个;返回为true;
var RegExp =/^\d?\w$/;
var str = "2a";
console.log(RegExp.test(str));//?表示可以出现0个或者1个,返回为true;
var RegExp =/^\d{3}$/;
var str = "456";
console.log(RegExp.test(str));//{3}表示可以出现三次且只能是三次,值可以变化;
var RegExp =/^\d{3,}$/;
var str = "4555";
console.log(RegExp.test(str));//{3,}表示可以上限,不能少于3位数,可以等于;
var RegExp =/^\d{3,8}$/;
var str = "4555";
console.log(RegExp.test(str));//{3,8}之间的位数
</script>
对象 (无序的原始数据类型) 多个值的集合,抽象的
JSON===键值对的方式
引用数据和原始数据
<script>
var person = {
name:"姓名",
age:"100"
};
console.log(person.name);
console.log(person.age);//输出姓名和年龄的值;
var person = {
name:"姓名",
age:"100"
};
delete person.name;
console.log(person.name);
console.log(person.age);//删除name;
var person = {
name:"姓名",
age:"100"
};
Object.defineProperty(person,"name",{
configurable:false,
value:"姓名"
});
delete person.name;
console.log(person.name);
console.log(person.age);//为true时才可以删除,为false时不能删除//是否可删除属性
var person = {
name:"姓名",
age:"100"
};
Object.defineProperty(person,"name",{
enumerable:true,
value:"张三"
});
for(var x in person){
console.log(x+":"+person[x]);}//覆盖前面的name;输出name:张三;age:100;//用来遍历对象属性
var person = {
name:"姓名",
age:"100"
};
Object.defineProperty(person,"name",{
writable:true,
value:"张三"
});
person.name="李四";
console.log(person.name)//是否能被修改;//可写性
function getperson(name,age){
return{
name:name,
age:age,
sayName:function(){
console.log(this.name);//输出张三;
}
}
}
var p1= getperson("张三",20);
console.log(p1.name);
console.log(p1.age);
p1.sayName();//输出name:张三;age:20//函数式普通函数
function getPerson(name,age){//P大写
var a = new Object();//new Object新建一个对象
a.name=name;
a.age=age;
a.sayName=function(){
console.log(this.name);//输出张三;
};return a;
}
var p1=getPerson("张三",20);
console.log(p1.name);
console.log(p1.age);
p1.sayName();//输出name:张三;age:20//Object函数
function Person(name,age){
this.name=name;
this.age=age;
this.sayName=function(){
console.log(this.name)
}
}
var p1 =new Person("张三",20);
console.log(p1.name);
console.log(p1.age);
p1.sayName();//调用组合// new构造函数//输出结果同上
function Person(name,age){
this.name=name;
this.age=age;
this.sayName=function(){
console.log(this.name)
}
}
function Student(name,age){
this.obj= Person;
this.obj(name,age);
delete this.obj;
}
var p1 = new Student("张三",20);
console.log(p1.name);
console.log(p1.age);
p1.sayName();//输出上面sayname的值//继承//对象冒充;
function Person(name,age){
this.name=name;
this.age=age;
this.sayName=function(){
console.log(this.name)
}
}
function Student(name,age,sex){
Person.call(this,name,age);
this.sex =sex;//直接引用this,添加值;
}
var a=new Student("张三",23,"男");
console.log(a.name);
console.log(a.age);
console.log(a.sex);
a.sayName()//call的方法 所有的函数都拥有call;
function Person(name,age){
this.name=name;
this.age=age;
this.sayName=function(){
console.log(this.name)
}
}
function Student(name,age,sex){
Person.apply(this,[name,age]);
this.sex =sex;//直接引用this
}
var a=new Student("张三",23,"男");
console.log(a.name);
console.log(a.age);
console.log(a.sex);
a.sayName()//apply的方法
</script>