JAVASCRIPT基础

JAVASCRIPT基础

1.原始数据的5种类型

Number/String/Boolean/undefined/null

2.JS的内置对象

Number/String/Array/Object/Boolean

3、未声明和未定义的变量

未声明:程序中不存在的变量且未声明的变量;
未定义:在程序中申明了但是没有给予任何值得变量。

4、js定时器

定时器用于在设定的时间执行一段代码,或者在给定的时间间隔内重复该代码。这通过使用函数setTimeoutsetInterval和clearInterval来完成。

  • setTimeout(function,delay)函数用于启动在所述延迟之后调用特定功能的定时器。
  • setInterval(function,delay)函数用于在提到的延迟中重复执行给定的功能,只有在取消时才停止。
    clearInterval(id)函数指示定时器停止

5、== 和 ===的区别

==:数值相等,==数值和类型相等

6、在JavaScript中使用innerHTML的缺点是什么?

如果在JavaScript中使用innerHTML,缺点是:内容随处可见;不能像“追加到innerHTML”一样使用;即使你使用+ = like“innerHTML = innerHTML +‘html’”旧的内容仍然会被html替换;整个innerHTML内容被重新解析并构建成元素,因此它的速度要慢得多;innerHTML不提供验证,因此我们可能会在文档中插入有效的和破坏性的HTML并将其中断。

7、数组去重的方法

  • 方法一:
function unique(arr){
var result=[]
for(var i=0;i<arr.length;i++){
    if(result.indexOf(arr[i]==-1)){
    result.push(arr[i]);
    }
}
return resule;
}
  • 方法二:
arr.from(new Set(arr))

8、冒泡排序

  • 方法一:
function sort(arr){
    if(arr.length<1){
        return arr;
    }
    for(var i=0;i<arr.length-1;i++){
        for(var j=0;j<arr.length-i;j++){
            if(arr[j]>arr[j+1]){
            var tep=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=tep;
            }
        }
    }
    return arr;
}
  • 方法二:
function sort(arr){
    if(arr.length<1){
        return arr;
    }
    var left=[];
    var right=[];
    var mid=[arr.[0]];
    for(var i=1;i<arr.length;i++){
        if(arr[i]<mid[0]){
            left.push(arr[i]);
        }else{
            right.push(arr[i])
        }
    }
    return quickSort(left).concat(mid.concat(quickSort(right)));
}

9、typeOf与instanceOf的区别

  • 相同点:判断变量是否为空或者变量的类型;
  • 不同点
  1. typeOf只能返回:number/string/boolean/function/undefined,对于arr、null来说一律返回object.
  2. instabceOf判断一个对象是否属于某个对象的实例。

10、.call和.apply的区别是什么?

all(thisObj,Object) ,apply(thisObj,[argArray])

对于apply和call两者在作用上是相同的,但两者在参数上有以下区别:
对于第一个参数意义都一样,但对第二个参数:apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。如 func.call(func1,var1,var2,var3)对应的apply写法为:func.apply(func1,[var1,var2,var3])同时使用apply的好处是可以直接将当前函数的arguments对象作为apply的第二个参数传入。

11、描述以下变量的区别:null,undefined或undeclared?

null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。

12、数组去重

  • 数组对象去重
      const newArray =[
      { name: "huahua", age: "12" },
      { name: "pangpang", age: "14"},
      { name: "xiaofang", age: "16" },
      {  name: "chenchen", age: "13" },
      { name: "huahua", age: "19" },]
     let obj = {}
    // 数组去重
    newArray = newArray .reduce(function(item, next) {
          obj[next.name] ? '' : obj[next.name] = true && item.push(next);
           return item;
      }, []);

13、js 改变原数组的方法和不改变原数组的方法

  • 改变原数组
    1、shift :将第一个元素删除并且返回删除元素,空即为:undefined
    2、unshift:向数组开头添加元素,并且返回改变之后的数组
    3、pop:删除最后一个元素并且返回删除之后的数组
    4、push:向数组末尾添加元素,并且返回添加完之后的数据
    5:reverse:颠倒数组顺序
    6:sort:对数组排序
    7:splice(start,length,item)删,增,替换数组元素,返回被删除的数组,无删除则不返回
    -不改变原数组
    1:concat:连接多个数组,原数组不变,必须得拿变量接
    2:join:将数组中所有元素作为分隔符放入一个字符
    3:slice:slice(start,end),返回选定元素
    4:map/filter/forEatch/some/every等不改变原数组
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
旅游社交小程序功能有管理员和用户。管理员有个人中心,用户管理,每日签到管理,景点推荐管理,景点分类管理,防疫查询管理,美食推荐管理,酒店推荐管理,周边推荐管理,分享圈管理,我的收藏管理,系统管理。用户可以在微信小程序上注册登录,进行每日签到,防疫查询,可以在分享圈里面进行分享自己想要分享的内容,查看和收藏景点以及美食的推荐等操作。因而具有一定的实用性。 本站后台采用Java的SSM框架进行后台管理开发,可以在浏览器上登录进行后台数据方面的管理,MySQL作为本地数据库,微信小程序用到了微信开发者工具,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得旅游社交小程序管理工作系统化、规范化。 管理员可以管理用户信息,可以对用户信息添加修改删除。管理员可以对景点推荐信息进行添加修改删除操作。管理员可以对分享圈信息进行添加,修改,删除操作。管理员可以对美食推荐信息进行添加,修改,删除操作。管理员可以对酒店推荐信息进行添加,修改,删除操作。管理员可以对周边推荐信息进行添加,修改,删除操作。 小程序用户是需要注册才可以进行登录的,登录后在首页可以查看相关信息,并且下面导航可以点击到其他功能模块。在小程序里点击我的,会出现关于我的界面,在这里可以修改个人信息,以及可以点击其他功能模块。用户想要把一些信息分享到分享圈的时候,可以点击新增,然后输入自己想要分享的信息就可以进行分享圈的操作。用户可以在景点推荐里面进行收藏和评论等操作。用户可以在美食推荐模块搜索和查看美食推荐的相关信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值