alert("我是外部文件");
document.write();//写在html页面内
console.time();//计时器
console.timeEnd();
var result=Math.sqrt();//根号
修改Person原型的toString
createPerson.prototype.toString= function(){
return "name="+this.name+",age="+this.age+",gender="+this.gender;
};
JavaScript优化:将不需要的对象设置为null
---------------------------------------------more--------------------------------------------
<script type="text/javascript" >
document.write("hello");
var a=123;
var b=a.toString();//调用a的toString()方法 / a=a+"";
a=a.toString();
a="123";
a=Number(a);//调用a的Number()方法将a转换为Number /a= a-0; /a= +8;
a="123px";
a=parseInt(a);//用parseInt将字符串中有效的整数内容转换为number
a="123.456px";
a=parseFloat(a);//用parseFloat将字符串中有效的小数内容转换为number
a=Boolean(a);
console.log(typeof a);//用Boolean将字符串中有效的小数内容转换为number /a=!!a;
console.log(a);
var d=20;
var result = d++ + ++d + d ; /*a++ 原值 ++a 后值 这行result=64*/
console.log(result);
/*Boolean()
数字---> 布尔
除了o和NaN,其余都是true
字符串---> 布尔
除了空串,其余都是true
null和undefined都会转换为flase
对象也会转换为true
*/
//生成一个x-y之间的随机数
Math.roud(Math.ramdom()*(y-x)+x);
confirm();//显示一个带有一段消息以及确认按钮和取消按钮的对话框
</script>
switch 循环
<script type="text/javascript">
var score=65;
switch(parseInt(score/10)){
case 10:
case 9:
case 8:
case 7:
case 6:
alert("合格");
break
default:
alert("不合格");
break;
}
</script>
this指针: 谁调用this就指向谁
<script type="text/javascript">
// 谁调用this就指向谁
function fun(){
console.log(this.name)
}
var obj={
name:"孙悟空",
sayName:fun
}
var obj2={
name:"沙和尚",
sayName:fun
}
obj.sayName()
</script>
工厂方法创建对象
<script type="text/javascript">
//创建一个对象
var obj={
name:"孙悟空",
age:18,
gender:"男",
sayName:function(){
alert(this.name);
}
}
//使用工厂方法创造对象
function createPerson(name,age,gender){
var obj=new Object();//局部obj
obj.name= name;
obj.age= age;
obj.gender= gender;
obj.sayName=function(){
alert(this.name);
};
return obj;//返回新的obj
}
/*function createPerson(name,age,gender){
var obj={
name:name,
age:age,
gender: gender,
sayName:function(){
alert(this.name);
}
}
return obj;//返回新的obj
}*/
var a=prompt("请输入姓名");
var b=prompt("请输入年龄");
var c=prompt("请输入性别");
var obj2=createPerson(a,b,c);
var obj3=createPerson("张3",28,"男");
var obj4=createPerson("张4",38,"男");
console.log(obj2);
console.log(obj3);
console.log(obj4);
</script>
构造函数
<script type="text/javascript">
function createPerson(name,age,gender){
this.name= name;
this.age= age;
this.gender= gender;
this.sayName=function(){
alert("Hello,我是:"+this.name);
};
}
var a=prompt("请输入姓名");
var b=prompt("请输入年龄");
var c=prompt("请输入性别");
var per2=new createPerson(a,b,c);
//var per=new createPerson("张3",28,"男");
per2.sayName();
</script>
for 遍历
function getAdult(arr){//定义一个带有实参的函数
//创建一个新数组
var newArr=[];
//遍历
for(var i=0;i<arr.length;i++){
var p=arr[i];
if(p.age>=18){
newArr.push(p);
}
}
return newArr;
}
forEach回调函数
<script type="text/javascript">
createPerson.prototype.toString= function(){
return " name="+this.name+",age="+this.age+",gender="+this.gender;
};
function createPerson(name,age,gender){
this.name= name;
this.age= age;
this.gender= gender;
this.sayName=function(){
alert("Hello,我是:"+this.name);
};
} //创建person对象
var per1=new createPerson("张1",8,"男");
var per2=new createPerson("张2",28,"男");
var per3=new createPerson("张3",38,"男");
//将person对象都装进一个数组里
var perArr=[per1,per2,per3];
perArr.forEach(function(value,index,obj){
console.log("value"+value);
});
</script>
JSON
JS中的对象只有JS自己认识,其他的语言都不认识
并且可以转换为任意语言中的对象,JSON在开发中主要用来数据的交互
JavaScript object Notation JS对象表示法
JSON的格式和JS对象的格式一样,只不过JSON字符串中的属性名必须加双引号
其他的和js语言一样
JSON分类:
1.对象{}
2.数组[]
JSON中允许的值:
1.字符串 2.数值 3.布尔值 4.null 5.对象 6.数组
将JSON字符串转换为 JS的对象
在JS中,为我们提供了一个工具,就叫JSON
这个对象可以帮助我们将一个JSON转换为js对象,也可以将js转换为JSON
var obj2='{"arr":[1,2,3]}';
var arr='[1,2,3,"hello",true]';
var json='{"name":"孙悟空","age":18,"gender":"男"}';
var o2=JSON.parse(arr);
var o=JSON.parse(json);//将一个json字符串转换为js对象
//console.log(o2);
JS对象–>JSON
JSON.stringify()
-可以将一个JS对象转换为JSON字符串
-需要一个JS对象作为参数,会返回一个JSON字符串
var obj3={name:"孙悟空",age:18,gender:"男"};
var str=JSON.stringify(obj3);
console.log(str);