学习地址:
JavaScript基础、高级学习笔记汇总表【尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通)】
目 录
P41 41.尚硅谷_JS基础_嵌套的for循环 18:50
P44 44.尚硅谷_JS基础_break和continue 28:00
计时器:console.time()、console.timeEnd()
1、创建空对象【var obj = new Object(); // 构造方法】
P49 49.尚硅谷_JS基础_基本数据类型和引用数据类型 26:38
P41 41.尚硅谷_JS基础_嵌套的for循环 18:50
/*
通过程序,在页面中输出如下的图形:
* 1 <1 i=0
** 2 <2 i=1
*** 3 <3 i=2
**** 4 <4 i=3
***** 5 <5 i=4
*****
*****
*****
*****
*****
***** 1 j<5(5-0) i=0
**** 2 j<4(5-1) i=1
*** 3 j<3(5-2) i=2
** 4 j<2(5-3) i=3
* 5 j<1(5-4) i=4
*/
P42 42.尚硅谷_JS基础_练习 05:47
P43 43.尚硅谷_JS基础_for循环练习 18:37
嵌套循环练习1:打印九九乘法表
* 1.打印99乘法表
* 1*1=1
* 1*2=2 2*2=4
* 1*3=3 2*3=6 3*3=9
* 1*4=4 2*4=8 3*4=12 4*4=16
* ....9*9=81<span></span>用来对齐元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
for (var i = 1; i <= 9; i++) { //创建外层循环,用来控制乘法表的高度
for (var j = 1; j <= i; j++) { //创建一个内层循环来控制图形的宽度
document.write("<span>" + j + "*" + i + "=" + i * j + "</span>");
}
document.write("<br />"); //输出一个换行
}
</script>
<style type="text/css">
body {
width: 2000px;
background-color: #87CEEB;
}
span {
display: inline-block; /*转为行内元素*/
width: 80px; /*span是块元素*/
background-color: #FCD410;
}
</style>
</head>
<body>
</body>
</html>
嵌套循环练习2:打印出1-100之间所有的质数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//打印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的值
if (flag) {
console.log(i);
}
}
</script>
</head>
<body>
</body>
</html>
P44 44.尚硅谷_JS基础_break和continue 28:00
break关键字
break关键字,可以用来退出switch或循环语句,不能在if语句中使用break和continue。
break关键字,会立即终止离它最近的那个循环语句。
label: 循环语句
可以为循环语句创建一个label,来标识当前的循环。
label: 循环语句
使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的。
continue关键字
continue关键字可以用来跳过当次循环,同样continue也是默认只会对离它最近的循环循环起作用。
计时器:console.time()、console.timeEnd()
P45 45.尚硅谷_JS基础_质数练习的改进 08:38
19 / 2 = 9.5,10之后的数字与谁乘都不可能得19了,9.5之后的值没必要再去检查。
除了2,所有的质数都是奇数。质数:prime number。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//测试如下的程序的性能
//在程序执行前,开启计时器
//console.time("计时器的名字") // 可以用来开启一个计时器
//它需要一个字符串作为参数,这个字符串将会作为计时器的标识
console.time("test");
//打印2-100之间所有的数
for (var i = 2; i <= 100000; i++) {
var flag = true;
for (var j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
//如果进入判断则证明i不是质数,修改flag值为false
flag = false;
//一旦进入判断,则证明i不可能是质数了,此时循环再执行已经没有任何意义了
//使用break来结束循环
break;
//不加break 215ms
//加break 25ms
//修改j<=后 2.6
}
}
//如果是质数,则打印i的值
if (flag) {
//console.log(i);
}
}
//终止计时器
//console.timeEnd()用来停止一个计时器,需要一个计时器的名字作为参数
console.timeEnd("test");
/*
* 36
* 1 36
* 2 18
* 3 12
* 4 9
* 6 6
*/
//可以通过Math.sqrt()对一个数进行开方
var result = Math.sqrt(97);
console.log("result = " + result)
</script>
</head>
<body>
</body>
</html>
P46 46.尚硅谷_JS基础_对象的简介 11:51
JavaScript中的数据类型(6种):
1、String 字符串
2、Number 数值
3、Boolean 布尔值
4、Null 空值
5、Undefined 未定义
- 以上这五种类型属于基本数据类型,以后我们看到的值,只要不是上边的5种,全都是对象。
6、Object 对象(引用数据类型)基本数据类型都是单一的值"hello"、123、true,值和值之间没有任何的联系。
在JS中来表示一个人的信息(name gender age):
* var name = "孙悟空";
* var gender = "男";
* var age = 18;
如果使用基本数据类型的数据,我们所创建的变量都是独立,不能成为一个整体。对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。
对象的分类:
- 内建对象:由ES标准中定义的对象,在任何的ES的实现中都可以使用,比如:Math、String、Number、Boolean、Function、Object ...
- 宿主对象:由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象,比如 BOM DOM。
- 自定义对象:由开发人员自己创建的对象。
P47 47.尚硅谷_JS基础_对象的基本操作 13:10
1、创建空对象【var obj = new Object(); // 构造方法】
2、向对象添加属性【语法:对象.属性名 = 属性值;】
3、读取对象中的属性【语法:对象.属性名】
4、修改对象的属性值【语法:对象.属性名 = 新值;】
5、删除对象的属性【语法:delete 对象.属性名;】
P48 48.尚硅谷_JS基础_属性名和属性值 16:34
属性名
向对象中添加属性
属性名:对象的属性名不强制要求遵守标识符的规范,什么乱七八糟的名字都可以使用,但是我们使用是还是尽量按照标识符的规范去做。
特殊的属性名【语法:对象["属性名"] = 属性值】
如果要使用特殊的属性名,不能采用.的方式来操作,需要使用另一种方式:语法:对象["属性名"] = 属性值。
读取时也需要采用这种方式,使用[]这种形式去操作属性,更加的灵活,在[]中可以直接传递一个变量,这样变量值是多少就会读取那个属性。
属性值
属性值:JS对象的属性值,可以是任意的数据类型,甚至也可以是一个对象。
in 运算符:检查一个对象中是否含有指定的属性。
in运算符:通过该运算符可以检查一个对象中是否含有指定的属性,如果有则返回true,没有则返回false。
语法:"属性名" in 对象
P49 49.尚硅谷_JS基础_基本数据类型和引用数据类型 26:38
- 基本数据类型:String Number Boolean Null Undefined
- 引用数据类型:Object
- JS中的变量都是保存到栈内存中的,基本数据类型的值直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他的变量。
- 对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响。
值与值独立!
- 当比较两个基本数据类型的值时,就是比较值。
- 而比较两个引用数据类型时,它是比较的对象的内存地址,如果两个对象是一摸一样的,但是地址不同,它也会返回false。
P50 50.尚硅谷_JS基础_对象字面量 08:20
使用对象字面量,可以在创建对象时,直接指定对象中的属性,语法:{属性名:属性值,属性名:属性值....}。
对象字面量的属性名可以加引号也可以不加,建议不加,如果要使用一些特殊的名字,则必须加引号。
属性名和属性值是一组一组的名值对结构,名和值之间使用“:”连接,多个名值对之间使用“,”隔开,如果一个属性之后没有其他的属性了,就不要写“,”。
P51 51.尚硅谷_JS基础_函数的简介 23:02
函数简介
函数 function:
- 函数也是一个对象。
- 函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。
- 函数中可以保存一些代码在需要的时候调用。
- 使用typeof检查一个函数对象时,会返回function。
给函数添加属性
函数创建方式1:字符串封装代码创建函数
函数创建方式2:函数声明
使用 函数声明 来创建一个函数:
语法:
function 函数名([形参1, 形参2...形参N]) { // []表示“可选”
语句...
}
与构造函数方式一样,函数声明的方式更清楚。声明函数,末尾不用写“;”。
函数创建方式3:函数表达式
使用 函数表达式 来创建一个函数:创建一个匿名函数,将此匿名函数赋值给一个变量(赋值语句,最好在末尾写“;”)。
var 函数名 = function([形参1,形参2...形参N]) {
语句....
}
P52 52.尚硅谷_JS基础_函数的参数 11:35
定义一个用来求两个数和的函数。
可以在函数的()中来指定一个或多个形参(形式参数),多个形参之间使用,隔开,声明形参就相当于在函数内部声明了对应的变量,但是并不赋值。