js的基本知识,详解?

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,可以基于这两个方法,验证当前字符串中是否包含某个字符串



    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语句被禁止 

   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名
上一篇:jfinal与bootstrap的登出实战


下一篇:js数组Array对象方法