1.for循环
练习:
for(var i=100;i<1000;i++){
var a=parseInt(i%10);
var b=parseInt(i/10%10);
var c=parseInt(i/100);
if(a*a*a+b*b*b+c*c*c==i)
console.log(i);
}
2.质数练习
var a=prompt();
if(a<=1)alert("该值不合法!");
if(a==2)alert(a);
else{
var flag=true;
for(var b=2;b<a;b++){
if(a%b==0){flag=false;break;}
}
if(flag)alert(a);
}
3.嵌套for循环
打印99乘法表
for(var i=1;i<=9;i++){
for(var j=1;j<=i;j++)
document.write("<span>"+i+"*"+j+"="+i*j+"</span>");
document.write("<br />")
}
4.break和continue
break关键字可以用来退出switch或循环语句
不能在if语句中使用break和continue
break关键字,会立即终止离他最近的那个循环语句
可以为循环语句创建一个label,来标识当前的循环
label:循环语句
使用break语句时,可以在break后跟着一个label
这样break将会结束指定的循环,而不是最近的
continue关键字可以用来跳过当次循环
同样 continue 也是默认只会对离他最近的循环起作用
测试程序的性能
在程序执行之前,开启计时器
console.time("计时器的名字");可以用来开启一个计时器
它需要一个字符串作为参数,这个字符串将会作为计时器的标志
终止计时器
console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
可以通过Math.sqrt()对一个数进行开方
5.对象的简介
对象属于一种符合的数据类型,在对象中可以保存多个不同数据类型的属性
1)创建对象
使用new关键字调用的函数,是构造函数constructor
构造函数是专门用来创建对象的函数
使用typeof检查一个对象时,会返回object
2)在对象中保存的值称为属性
向对象中添加属性
语法:
对象名.属性名=属性值
3)读取对象的属性
语法:对象.属性名
如果读取对象中没有的属性,不会报错而是会返回undefined
4)修改对象的属性值
语法:
对象.属性名=新值
5)删除对象的属性
语法:
delete 对象.属性名
6.属性名和属性值
1)向对象中添加属性
属性名:
对象的属性名不强制要求遵守标识符的规范
如果要使用特殊的属性名,不能采用.的方式来操作
需要使用另一种方式:
语法:对象["属性名"]=属性值
读取时也需要采用这种方式
var obj=new Object();
obj["123"]="Rose";
console.log(obj["123"]);
2)属性值
JS对象的属性值,可以是任意的数据类型
甚至也可以是一个对象
var obj=new Object();
var obj2=new Object();
obj.name="Rose";
obj2.name="Lisa";
obj.test=obj2;
console.log(obj);
console.log(obj.test);
console.log(obj.test.name);
3)in运算符
通过该运算符可以检查一个对象中是否含有指定的属性
如果有,则返回true,没有则返回false
语法:
"属性名" in 对象
console.log("test2"in obj);
console.log("test" in obj);
7.基本数据类型和引用数据类型
1)JS中的变量都是保存到栈内存中的,基本数据类型的值直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他的变量
当比较两个基本数据类型的值时,就是比较直
而比较两个引用数据类型时,它是比较的对象的内存地址
如果两个对象是一模一样的,但是地址不同,它也会返回false
8.对象字面量
9.函数的简介
/*Way1*/
var fun=new Function("console.log('hello');");
fun();
/*Way2*/
function fun2(){
console.log("my");
}
fun2();
/*Way3*/
var fun3=function(){
console.log("world!");
}
fun3();
10.函数的参数