标识符
标识符是指变量、函数、属性的名字,或者函数的参数(参数:函数自变量)。
标识符的书写有几个特征:
区分大小写
第一个字符必须是字母、下划线(_)、或者是$
后面的可以是字母、数字、下划线、$
4.不能使用关键字;
变量
什么是变量?---变量是用来存储数据的盒子,使用关键字var来进行声明;注*--声明会提前,但赋值不会提前!
var a;//声明变量
a=1;//给这个变量赋值;
a=1;//赋值
var a;//声明
上面两种写法就是相同的;
console.log(a)//不报错,a为undefined
a=1;//赋值
var a;//声明
上面这一种就是说的赋值不提前了;
js中的命名规约
使用是实际意义的单词
变量使用驼峰规则,第一个单词首字母小写,后面单词首字母大写
变量使用名词,方法函数使用动词开头,常量全部用大写字母(常量:只有一个值,且不能改变---π,布尔true-false,null,undefined),函数创建对象首字母大写(构造函数)
数据类型
- 数字类型(number):整数和小数(比如1和3.14)
- 字符串类型(string):字符组成的文本(比如"Hello World")
- 布尔类型(boolean):true(真)和false(假)两个特定值
- undefined:表示“未定义”或不存在,即此处目前没有任何值
- null:表示空缺,即此处应该有一个值,但目前为空
- 对象(object):各种值组成的集合
其中数字类型、字符串类型、布尔类型称为原始类型的值,对象称为合成类型得值,undefined和null则为两个特殊类型的值!
*注:对于从页面获取的值都是以字符串类型返回到js中;所以当获取的值是数字并且需要对它进行操作时,我们就需要对它进行转化---number()转为数字类型、parseInt()转为整数型或parseFloat()浮点数型(小数);
关于循环的问题
- continue用于结束本次循环,不执行条件内的本次操作
for(var i=0;i<10;i++){
if(i==3||i==5){
continue;
}
console.log(i);//0,1,2,4,6,7,8,9
}
这样就不会执行满足if条件的循环语句了
- break用于结束循环,不执行后面的语句
for(var i=0;i<10;i++){
if(i==5){
break;
}
console.log(i);//0,1,2,3,4
}
- 对于结束多重循环,我们则需要给循环取个名字,具体表明要结束的循环语句
outer:
for(var i=0;i<10;i++){
inter:
for(var j=0;j<10;j++){
if(i>5){
console.log(i);//6
break outer;
}
}
}
- for-in循环
for-in循环一般都是用于遍历对象的属性,从而达到我们想要的判断条件,实现目的操作!
var obj={
name:'jack',
age:18,
sex:'man'
}
for (var key in obj) {
if(key=='age'){
console.log(obj[key]);//18
}
}
函数
- 函数指的是包含多个执行语句的代码块,可以通过function关键字来声明一个函数或者用表达式的方式来创立函数
如:
function fn1(){
console.log(2);
}
var fn2=function(){
console.log(2)
}
- 函数的自变量--也叫变量,开始没有赋值,当函数调用的时候才进行赋值,也叫做函数的参数(也可以称作形参)
function fn(x,y){
//x,y为函数fn的参数
console.log(x);
console.log(y);
}
fn(1,2);//后台就打印1,2;这时x,y就分别代表1,2
- 给函数传递信息叫传参,传参时位置要一一对应,没有传的参数则返回undefined;
- 函数的作用域
作用域:函数自变量生效的范围
函数的作用域跟定义位置相关,跟调用无关!自变量查找是先从内部查找,如果没有找到则再从外部查找!
在函数内部,你可以使用arguments对象获取到该函数的所有传入参数
function printPersonInfo(name, age, sex){
console.log(name);
console.log(age);
console.log(sex);
console.log(arguments);
}
printPersonInfo('jack',16);//arguments.length=2
arguments对象是函数内置的属性,可以理解为类数组(类似数组,但不是数组),它的长度由函数的实参决定,而不是形参!
- 函数返回值
函数运行结束会存在一定值,我们可以通过return语句返回我们想要的值,如果没有return,那么返回undefined!
function fn(a, b){
a++;
b++;
return a + b;
}
var result = fn(2, 3);
conslole.log(result);//7
这样,我们就可以通过一个变量来保存这个值,从而便于与我们对这个值进行操作
对象--object
js中,对象具有唯一的标识符,对象包括属性和方法--属性就是我们需要保存的信息,方法则是对象能提供的服务;对象是某一个类的实例!
- 对象属性的操作
1.对象(object)的属性读取有两种方式:
(1)o.name;
(2)o['name'];//[]中可以传入一个变量,可读性更高;
2.操作时,不赋值为取值,赋值为新的数据时为修改,添加属性名并赋值则是增加了这个属性!
3.对于对象的删除,我们可以使用关键字delete来进行操作--delete object.name! - js中,所有东西其实都是对象
- 空数组([])的类型也是object;null的类型也是object;
- 空数组([])和空对象({})对应的布尔值,都是true。
if ([]) { console.log(true); } // true
if ({}) { console.log(true); } // true