js基础

286 阅读3分钟

五种输出语句: alert confirm prompt document.write console.log

// 5种简单数据类型 : number string boolean undefined null // 3种复杂数据类型 : array object function

typeof null -->object

//////////////////////////////////////////////////////////////////

转换成数值number类型:

  1. Number() 构造函数 var num = Number(str);
  2. parseInt() => 转化为number类型的整数 parseFloat()
    • 或 -0 (掌握 : +str)

转化为字符串类型:

  1. 构造函数 String()
  2. toString()
    • ''

转化为布尔类型:

  1. 构造函数 Boolean()

NaN:

  1. NaN not a number 不是一个数值
  2. js在运算的时候,运算不出来结果,,它又不报错,, NaN
  3. NaN 是一个number类型
  4. NaN它六亲不认 不等于任何值 包括自己
  5. isNaN() 判断一个值是否不是数值 (用不了) (内容) is: 是否 NaN 不是一个数值 是否不是一个数值 true : 不是一个数值 false : 是一个数值 ////////////////////////////////////////////////////////////////////////

分支语句

  1. if语句 if if..else if..else...if..else
  2. 三元运算符
  3. switch (要求全等) while do...while for do...while 先执行一下循环体,然后再判断循环条件

for (初始值 ; 判断条件 ; 自增) {...}

break :结束当前for循环 跳出大括号 后面的循环不再执行 continue : 结束当前本次循环, 进入下一个循环 跳过直接进入下个循环

数组是一个多元素的集合,,有顺序 有长度 (有序的)

reverse(); // 翻转 unshift // 把数组从前面添加

冒泡: // 高级版 (了解) // for(var i = 0; i < arr.length-1;i++) { // //1. 假设排序好了 // var flag = true;
// for (var j = 0; j < arr.length-1-i; j++) { // if (arr[j] > arr[j+1]) { // //2. 打脸 // flag = false; // var temp = arr[j]; // arr[j] = arr[j+1]; // arr[j+1] = temp; // } // } // //3. 判断 // if (flag) { // break; // } // }

///////////////////////////////////////////////////

函数三要素:函数名 参数 返回值

递归 : 自己 调用自己

函数可以作为参数(回调),返回值(闭包)

////////////////////////////////////////

变量 : 全局变量 : 在全局作用域里声明的 局部变量 : 在局部作用域里声明的 隐式全局变量 : 没有var声明的变量 => 隐式全局也是全局,, 所有的地方都能访问

// new 做了4件事情 (记住) //1. 创建了一个新的空对象 //2. this指向了这个新对象 (给这个新对象添加了属性) //3. 执行构造函数 (实例化属性和方法 给属性和方法赋值) //4. 返回这个新对象

执行构造函数的作用 : (记住) // 实例化属性和方法,,,给属性和方法赋值

查看类型:

  1. typeof => 只适用 简单数据类型
  2. instanceof => 查看复杂类型
  3. constructor 查看具体类型 (构造函数)

操作字符串属性: 1 // .语法 // 结构 : obj.属性 (属性类似一个变量,不是字符串)

2// [] 语法 // 结构 obj['属性名'] ([]里面是属性名的字符串)

Math.PI Math.max Math.min Math.ceil() ceil 天花板 往上取整 Math.floor() floor 地板 往下取整 Math.round() 四舍五入 Math.abs 绝对值 Math.pow 次方 Math.sqrt 开方 Math.random() [0-N] parseInt( Math.random() * N+1)

/////////////////////////////////////////////////////////

数组:

改变原数组: pop() 数组的后面 删除一个元素 返回的就是删除的那个元素 (删除的时候)
push() 数组后面添加一个/多个元素 返回的是数组的长度 (增加的时候) unshift() 数组的前面添加一个/多个元素 返回的也是长度 (增加的时候) shift() 数组的前面 删除一个元素 返回的就删除的那个元素 (删除的时候) reverse() 翻转 sort() 排序 arr.splice(start,deletedCount,item) arr.splice(start,0,item)

不改变原数组: join 数组转换 (数组 => 字符串), array.join(分隔符) 返回新数组 concat() 数组1.concat(数组2) 拼接
arr.slice(start,end) arr.slice(start) arr.slice();
slice:slice(start,end),返回选定元素 map,filter,forEach,some,every等不改变原数组

/////////////////////////////////

字符串:

trim() 只能清除两边的空白字符 toUpperCase(); // 全部转化为大写字母 toLowerCase() ;// 全部转化为小写字母 indexOf('c') 查找指定字符串 slice(start,end) substr (start, count) substring str.split(分隔符)
str.replace('a','x');