Javascript 函数基础

133 阅读1分钟

函数: 封装性,复用性,调用性 函数名 小驼峰(首字母不要大写)

形参:
    函数调用时的参数
返回值   return
    返回一个结果
    结束整个函数


作用域

预编译   函数可以先调用后声明
arguments  用于接收实参列表(伪数组)
递归函数  自己调用自己
构造函数  创建对象
回调函数  ?


数组
    创建方式2[]   new Array(1,2,3,4)
    数组的长度,数组的下标
    数组的长度和值可以随时被更改
    数组的遍历
        for
        for in   遍历下标 主要是用于遍历对象(不适合数组)
        for of 遍历值
        
封装
    includes()   判断数组中是否存在某个值
          质数判断的假设法和是否存在的假设法作对比(到底flag为true还是false)
    join()      把数组变成字符串(三目)  
       i<arr.length -1 ? arr[i] +',' :arr[i]
    
    push()  向数组尾部追加无数个  遍历arguments, 把数组的长度边长 arr[arr.length] = arguments[i]
    pop() 删除数组中最后一个值  创建一个新的数组  遍历原数组时丢掉最后一个 i<arr.length - 1
    随机验证码
        随机取数组中的一个值,(根据下标)
    冒泡排序
    选择排序
    
    
    -------------------------------------------  数组的方法  push()  pop() unshift() shift()
    

数组的常用方法

join() 把数组变成字符串

includes() 判断数组中是否存在某个值

indexOf() 判断数组中是否存在某个值,返回第一次出现的下标,找不到就返回-1

lastIndexOf () 判断数组中是否存在某个值,返回最后一次出现的下标

concat() 拼接数组,返回一个新的数组

slice(i,i) 截取数组中的部分值,返回一个新的数组

splice(i , 删除的个数,新增的值...) 新增,删除,替换 --- 直接改变原数组 !!!

function includes(arr,n){
//遍历数组
for(var i in arr){
if(arr[i] === n){
return true}
}
return false}



function indexOf(arr,n){
for(var i in arr){
if(arr[i] === n){
return i}
}
return -1}


function lastIndexOf(arr,n){
反着遍历
for(var i = arr.length -1 ; i >= 0 ; i--){
if(arr[i] === n){
return i}
}
return -1}

var arr = [1, 2, 3, 4, 2, 5];
var str = arr.join(',');
   console.log(str);

        console.log(arr.includes(20));

        console.log(arr.indexOf(2));

        console.log(arr.lastIndexOf(2));
        
        
        
  var arr1 = [1,2,3];
  var arr2 = [4,5,6];
  
  var arr3 = arr1.concat(arr2);
  console.log(arr3);
  
 //slice(i,i) 截取数组中的值 (包前不包后)
 
   var arr5 = [1, 2, 3, 4, 5];
        var arr6 = arr5.slice(0, 2);
        console.log(arr6);
        
        
        
        
    // splice(i, 删除的个数, 插入的值) 删除, 替换, 新增

        // 用法1 在任意位置插入数据
        // 插入a, 1, b
        // arr.splice(i, 0, 'a', 1, 'b');

        // 用法2 删除
        // 从[i] == 2 开始删除两个
        // arr.splice(i, 2, 2)

        // 用法3 替换


        arr6.splice(1, 2, 'haha', 'nihao');
        console.log(arr6)




基本数据类型:number string boolean null undefined

基本数据类型可以通过typeof来判断

引用数据类型: function 数组 对象

Array.isArray() 判断是不是数组

var arr = [1,2,3];

console.log(typeof arr);

console.log(Array.isArray(arr));