js基础知识
1 逻辑判断
1.1 js中除了0,false,null,undefined、""、NaN为false,否则都为真
2 parseInt与parseFloat
2.1 区别
3. 与=的区别
3.1 ===需要校验数据类型是否一致
==不需要校验数据类型
4.函数的中断性
4.1 &&
当第一个表达式为"假"的时候,则第二个表达式不会运算
4.2 ||
当第一个表达式为"真"的时候,则第二个表达式不会运算
5. 函数(方法)的声明
5.1 function 方法名(参数1,参数2,...){}
5.2 将一个未命名的函数function赋给一个指定变量(var)
var 变量名 = function (参数1,参数2,...) {}
5.3 函数递归
6. js作用域
6.1 全局作用域(全局范围)
1. 在方法体外定义的变量或者函数(在windows对象下)是全局作用域
2. 在方法体内定的变量没用使用对象(var...)来接受的变量也是全局作用域
6.2 局部作用域(作用范围:函数体内使用
1. 在方法体内定义的变量(必须要使用对象接收var。。。)或者函数是局部作用域 )
6.3 内部函数(闭包)
函数内部定义的函数作用域仅仅局限于父函数,但是子函数可使用父函数内部变量
6.4 作用域链
取值:由下往上(window)找值
7. 声明提升
在js引擎(浏览器)执行js代码前,会优先给代码内定义的变量和函数定义好。逻辑语句停留在原地等待执行(比如:赋值)
console.log(num);
var num = 10; //输出为:undefined
var num = 10; 等同于: var num;num = 10;
8. js对象(JSON对象)
形式:{键:值,键:值,键:值}
键:可以重复,但是后者会覆盖前者
值:可以为任意数据类型
8.1 创建方式
1. var json = {};
2. var json = new Object();
8.2 json对象取值
1. 通过对象名"."属性名,如果属性不存在则返回undefined
2. json[字段名] 这种可动态取出不同属性值
8.3 json对象增加/修改属性值
json.属性名 = value
json["属性名"] = value
当json对象属性不存在的时候就是添加属性值,如果属性存在则是修改属性值
8.4 json对象删除属性
delete 对象名.属性名
9. js数组操作
var arr = [];
var arr = new Array();
9.1 数组增加
对象名.push(单个元素或者多个元素)
9.2 join()字符串连接
9.3 数组删除
数组对象.splice(下标,数量);//如果数量为空(不填写),那么会从指定下标到数组末尾都会被删除
arr.splice(2,0,"ccc");//当第二个元素为0的时候,表示在指定位置(下标)添加元素
在arr数组的第三个位置增加“ccc”属性值