1.日常学习js的笔记,只要是我主观认为重要的知识,都会记录下来:
2.基本的数据类型有:undefined、number、string、null、Boolean; 引用数据类型有:Object。
3.函数里面的全局变量:
//定义函数:
function text() {
msg = "hello world!";
}
//引用函数:
text();
alert(msg); // hello world!
//当函数被引用后,变量msg能够在script标签内部任何地方被调用。
4.流程控制语句:
if语句:
if (流程判断条件(-出口-)) {
//条件为真执行体
}else if (流程判断条件(-出口-)) {
//条件为真执行体
}else {
//不满足执行条件(条件为假)执行体
//在if语句中,流程判断条件可以为任意表达式,而且对这个表达式求值结果不一定是布尔值,ECMAscript会
//自动调用Boolean()转换函数将这个表达式的结果转换成一个布尔值
// ----摘自javascript高级程序设计(第三版)
do-while语句:
//do while语句是一种后测式语句,它只有在循环体内的代码执行后,才会测试出口条件。
var i = 1;
do {
//循环体
i++;
console.log(i);
//出口条件:
}while(i<10);
while语句:
//while语句与do-while语句执行顺序相反,它属于一种前测式循环语句,也就是说,在循环体代码在执行之前,就会对出口条件求值:
var i = 0;
//循环条件
while(i<10){
//执行体:
i++;
console.log(i);
}
for语句:
//for循环语句也是一种前测式循环语句,但是它具有在执行体循环之前初始化变量和定义循环后要执行的代码的能力:
for(var i=0;i<10;i++){
console.log(i);
}
/*代码执行顺序:
* 1.初始化变量1,赋值为0;
* 2.测试循环条件是否为true;
* 3.i自增1;
* 4.执行循环体代码;
* 5.返回第二部开始执行,当出口条件为false的时候循环结束。
for-in语句:
//for - in语句是一种精准的迭代语句,可以用来枚举对象的属性。
var myObj = new Object();
myObj.name = "zs";
myObj.age = "25";
for(attr in myObj) {
console.log(attr);
// name age
}
//这里就能够将arr数组内的所有对象枚举。
var arr = [
{id:1,name:"zs"},
{id:2,name:"ls"},
{id:3,name:"ww"}
]
for(i in arr){
//这里能够将数组arr内的所有自定义对象遍历出来,这里使用for循环语句也是一样能够完成.
console.log(arr[i]);
}
with语句:
//with语句的作用是将代码的作用域设置到一个特定的对象中。
//例:
var myObj = {
name:"zs",
age:"18",
wehigt:"120"
}
console.log( myObj.name);
console.log(myObj.age);
console.log(myObj.wehigt);
//使用with语句执行的结果和上面直接调用对象属性执行的结果相同。
with(myObj){
console.log(name);
console.log(age);
console.log(wehigt);
}
switch语句:
//switch语句与if语句最为类似,也是比较常用的一种流程控制语句:
for(var i=0;i<100;i++){
if(i==5){
console.log(i);
}else if(i==10){
console.log(i);
}else{
console.log('other');
}
}
//等价于:
for(var i=0;i<100;i++){
switch(i){
case 5:
console.log(i);
break;
case 10:
console.log(i);
break;
default:
console.log('other');
}
}
5.函数:
//函数可以封装任意多条语句,并且可以在任何地方任何时候被调用执行,关键字function。
//如果函数不被调用,那么函数将永远不会被执行。
//js中的函数没有重载,所以不能设定两个函数名相同的函数,如果名字相同后面的函数会覆盖掉前面的函数。
//例:
//定义函数:
function text() {
//为函数添加执行语句:
alert('hello javascript!');
}
//调用函数:
text();
//带参数的函数:
function text1(name,age){
alert('我叫'+name+'我今年'+age+'岁');
}
text1('zs',15);// 我叫zs,我今年15岁