js的基本知识,详解?

6 篇文章 0 订阅
2 篇文章 0 订阅

1.javascript语言主要分那几部分组成?

ECMScript(ES):是js语言的规范和标准:规范了语法、数据类型、流程控制语句等
     DOM:document、object、model文档对象模型;体用 api(属性和方法)供js操作界面当中的html元素
     BOM:browser object model 浏览器对象模型:提供api 供 js 操作浏览器

2.js数据类型中检测一个变量是不是有效数字?
可以用isNaN来检测是不是有效数字。

3.string常用的方法:

     1.)charAt / charCodeAt / String.fromCharcode
     作用:charAt根据索引获取指定位置的字符
         chartCode不仅仅获取字符,获取的是字符对应的Unicode编码值(ASC II码值)[10进制]
         String.fromCharCode返回的是编码对应的字符
         
     参数:索引
     返回值:字符或者对应的编码

    2.)indexOf/lastIndexOf
     基于这两个方法,可以获取字符在字符串中第一次/最后一次出现的位置索引,找到返回位置索引,
     找不到返回-1,可以基于这两个方法,验证当前字符串中是否包含某个字符串
     var str="hello world";
     console.log(str.indexOf("l"),'字符第一次出现的位置');//2
     console.log(str.lastIndexOf("l"),'字符最后一次出现的位置');//9



    3.)slice查找
    str.slice(n,m)从索引n查找索引m处,不包含m,把找到的字符当做新字符返回
    str.slice(n)从索引n处到末尾
    str.slice();浅克隆字符串
    str.slice(-3,-1)从倒数3个开始查找到倒数第1个

    4.)substring:查找,与slice一样,区别是substring不支持负数

    5.)substr:截取字符串
    str.substr(n,m)从索引n开始截取m个字符
    str.substr(n);从索引n开始截取到末尾
    str.substr(-2,3)从倒数-2的索引截取3个
   
    6.)toUpperCase /toLowerCase
    实现字符大小写转换
    toUpperCase:小写转大写
    toLowerCase:大写转小写

    7.)split:和数组中的join相对应,join是把字符串按照指定的分隔符变为字符串,
      split是把字符串按照指定分隔符,拆分成数组中的每一项
      var str="1+2+3+4";
      console.log(str.split('+'));//['1','2','3','4'];

      
    8.)replace替换
    作用:替换字符串中的原因字符
    返回值:替换后的字符串
    只能替换一个:所以可以配合正则使用
    一般配合正则使用的
    

    null:空对象指针,一般是意料之中的没有,可以手动赋值,
    undefined:未定义,只有js中有,只声明未定义。

    严格模式和非严格模式的区别?
    1.严格模式不能使用未声明的变量
    2.不允许删除变量或对象包括函数
    3.不允许变量重名,包括不能给对象的属性补能重名
    4.eval和arguments变为关键字,不能作为变量、函数名
    5.函数中修改arguments对象不会影响到实际的函数参数:arguments对象与函数参数不具有联动关系
    6.arguments中的caller,callee被禁用
    7.函数内禁止this关键字指向全局对象,严格模式下无法再意外创建全局变量
    8.call、apply、bind、的第一个参数为null/undefined时,this为null/undefined
    9.禁止八进制字面量
    10.width语句被禁止 

splice() 方法向/从数组添加/删除项目,并返回删除的项目
//splice():如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组
var fruits = ["Banana", "Orange", "Apple", "Mango"];
// console.log(fruits.splice(2,2));//第一个参数代表从哪一个开始,第二个参数代表删除几个元素
//这里的2是从第三个开始的,选择2个元素删除
//返回结果 是删除后的数组  (2) ['Apple', 'Mango']
fruits.splice(2,1,"Lemon","Kiwi");//第一个参数代表从哪一个开始,第二个参数代表删除几个元素 第三个参数是可以添加多项...
document.getElementById("demo").innerHTML = fruits;

输出结果:
在这里插入图片描述
html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>测试js++</title>
</head>
<body>
  <p id="demo"></p>
  <p id="demo1-item"></p>
  <script src="../js/index.js"></script>
</body>
</html>

js

//删除数组  页面打印删除后的新数组
var arr1=["zhangsan","lisi","wangwu","zhaoliu"];
arr1.splice(2,1);
document.getElementById('demo1-item').innerHTML=arr1;

输出结果:
在这里插入图片描述

   var str="abcdef";
   console.log(str.slice(0,6));//abcdef
   console.log(str.substr(-2,2));//ef

   var obj={name:'lilei'};
   var name='zhanghong';
   console.log(obj.name);//lilei
   console.log(obj['name']);//lilei
   console.log(obj[name]);//undefined//obj里面没有zhanghong这个name名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值