javascript (4)

for 循环:
语法:
	for(初始化表达式; 条件表达式; 更新表达式){
		3.语句...
	}

执行流程:
	1.执行初始化表达式,初始化变量(初始化表达式只会执行一次)
	2.执行条件表达式,判断是否执行循环:
		如果为true,则执行循环3[语句]
		如果为false,终止循环
	4.执行更新表达式,更新表达式执行完毕继续重复2

for循环中的三个部分都可省略,也可写在外部
	如果在for循环中不写任何的表达式,只写两个;
	此时循环是一个死循环(慎用)
break---可以用来退出 switch 语句或退出整个循环语句
(不能在 if 语句里不能用 breakcontinue,否则会报错)。

-break关键字 会立即终止离它最近的那个循环语句。
-可以为循环语句创建一个**label**,来标识当前的循环
	(label:循环语句)。
	使用 break 语句时,可以在 break 后跟着一个 label,这样 break 将会结束指定的循环,而不是最近的。
例如: 
	outer:
	for (var i = 0; i < 5; i++) {
    	console.log('外层循环 i 的值:' + i);
   		 for (var j = 0; j < 5; j++) {
       		 break outer; // 直接跳出outer所在的外层循环(这个outer是我自定义的label)
       	 console.log('内层循环 j 的值:' + j);
    }
}
continue-continue 可以用来跳过当次循环
	-同样,continue 默认只会离它最近的循环起作用。
	-同样,如果需要跳过指定的当次循环,可以使用 label 标签。
-打印出1-100之间所有的质数

//在程序执行前,开启计时器
//console.time("计时器的名字")可以用来开启一个计时器
//它需要一个字符串作为参数,这个字符串将会作为计时器的标识
console.time("test")
//打印2-100之间所有的数
for (var i = 2; i <= 100; i++) {
 //创建一个布尔值,用来保存结果,默认i是质数
	var flag = true;
     //判断i是否是质数
     //获取到2-i之间的所有的数
    for (var j = 2; j < i; j++) {
         //判断i是否能被j整除
          if (i % j == 0) {
           //如果进入判断则证明i不是质数,修改flag值为false
             flag = false;
              //一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
             //使用break来结束循环
             break;	
          }
        }  
        //如果是质数,则打印i的值
        if (flag) {
              console.log(i);
       }
}
//终止计时器
//console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
console.timeEnd("test")

优化:
//可以通过Math.sqrt()对一个数进行开方
for (var i = 2; i <= 100; i++) {
	var flag = true;
    for (var j = 2; j <=Math.sqrt(i); j++) {
          if (i % j == 0) {
             flag = false;
             break;	
          }
        }  
        if (flag) {
              console.log(i);
       }
}
JS数据类型
	-String
	-Number
	-Boolean
	-Null
	-Undefined
	//以上五种属于基本数据类型,除了这五种,其他全是对象
	-Object 对象
如果使用基本类型的数据,我们所创建的变量都是独立,不能 成为一个整体
对象属于一种复合的数据类型。在对象中可以保存多个不同数据类型的属性

对象的分类:
	1.内置对象:
		-ES标准中定义的对象,在任何的ES的实现中都可以使用
		-比如:Object、Math、Date、String、Array、Number、Boolean、Function等。
	2.宿主对象:
		-JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象。
		-比如 BOM DOM。比如console、document。
	3.自定义对象:
		-由开发人员自己创建的对象
		-通过 new 关键字创建出来的对象实例,都是属于对象类型,比如Object、Array、Date等。

在对象中保存的值称为属性
向对象添加属性
语法:
	对象.属性名 = 属性值;
	object.name = "张三";
	//读取对象中的属性 (如果没有属性值,不会报错而是返回undefined)
	console.log("obj.name");
	//删除对象属性  delete 对象.属性名
	delete obj.name;

对象的属性名不强制要求遵守标识符的规范
如果使用特殊的属性名,不能采用.的方式操作
则使用另一种方式:(灵活)
语法:
	对象["属性名"] = 属性值

属性值---可以是任意类型的值,也可以是一个对象

in 运算符
	-通过该运算符可以检查一个对象中是否含有指定的属性
		(如果有则返回true,没有则返回false-语法:
			”属性名" in 对象
JS中的变量都是保存到栈内中的
	-基本数据类型的值直接在**栈内存**中存储
	-值与值之间是独立存在,修改一个变量不会影响其他的变量
	-当比较两个基本数据类型的值时,就是比较值

对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间
	-而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,
	-当一个通过一个变量修改属性时,另一个也会受到影响
	-比较引用数据类型时,它是比较的对象的内存地址,
	(如果两个对象是一样的,但地址不同,它也会返回false
//创建一个对象
var obj = new Object();
//使用对象字面量来创建一个对象
var obj = {};
使用对象字面量,可以在创建对象时,直接指定对象中的属性
语法:{属性名:属性值,...}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值