浏览器内核、数组和字符串

浏览器的组成

  1. shell
  2. 内核部分
    • 渲染引擎(语法规则和渲染)
    • js引擎

Javascript三大部分:ECMAScript,DOM,BOM

编译语言:C, C++,

  • 优点:快
  • 不足:移植性不好(不跨平台)

解释语言:Javascript

  • 优点:跨平台,单线程
  • 不足:稍微慢
主流浏览器 内核

IE trident

Chrome blink/webkit

firefox Gecko

Opera presto

safari webkit

数据类型

原始值:

Number,Boolean,String,undefined,null

引用值:

array(数组),Object,function······date ,Regexp

任何类型+字符串都等于字符串

a++:先执行后运算

++a:先运算后执行

&&运算符遇到假就停

||运算符遇到真就停

typeof:number,string,boolean,object,function,undefined

  • Number:把类型数据转换数字

  • parselnt(string,radix(进制)):把数据转成整形·——123abc=123

  • parseFloat(string):把数据转成浮点型

  • String:把数据转成字符串

  • Boolean:把数据类型转成布尔值(true,flase)

    typeof(a):undefined //未声明变量

    arguments :实参数组(实参列表)

    return:终止函数,返回值

    typeof(null):object

    数字符号大部分都是转成数字类型(number)——转不了的为NAN

算法

递归

类数组

  1. 属性要为索引(数字)属性,必须有length属性,最好加上push

  2. 一旦给一个对象加上splice方法这个对象长得就和数组一样

    var obj={
        "0" :"a",
        "1":"b",
        "2":"c",
        age:123,
        name:"abc",
        length:3,
        push:Array.proyotype.push,
        splice:Array.proyotype.splice
    }
    
  • 类数组push的原理
Array.prototype.psh=function (target){
    obj[obj.length]=target;
    obj.length++;
}

时间戳

获得Date总的毫秒数,不是当前时间的毫秒数 ,而是距离1970 年1月1日过了多少毫秒数

  1. 通过valueof() getTime()
var date=new Date();
console.log(valueof());
console.log(getTime());
  1. 简单的写法(最常用的写法)
var date=+new Date();
console.log(date);
  1. H5新增的获得总毫秒数
console.log(Date.now());

数组字符串jion()和split();

var str='12345';
str.split('')//['1', '2', '3', '4', '5']
var arr=[1,2,3,4,5]
arr.jion('-')//1-2-3-4-5 
arr.jion('')//12345
arr.jion()//1,2,3,4,5
//使用jion()方法都是字符串类型

检测是否为数组

  1. instanceof 运算符 它可以用来检测是否为数组
var arr[];
console.log(arr instanceof Array);//true
  1. Array.isArray(参数); H5新增 IE9以上
console.log(Array.isArray(arr));//true
原数组改变
  1. push()在我们数组的末尾 添加一个或者多个数组元素;
  2. unshift()在我们数组的开头添加一个或者多个数组元素;
  3. pop()删除数组最后一个元素;一次只删一个,所以不需要参数,返回删除的元素;
  4. shift()可以删除数组的第一个元素;

返回数组元素索引号

indexOf(数组元素)作用就是返回该数组元素的所以号,从前面开始查找

它只返回第一个满足条件的索引号,

它如果在该数组里面找不到元素,则返回的时-1;

lastIndexOf(数组元素)从后查找

数组转换为字符串

  1. toString()将我们的数组转换为字符串
var arr=[1,2,3];
console.log(arr.toString());//1,2,3
  1. join(分隔符)
var arr1=['green','blue','red'];
console.log(arr1.join());//green,blue,red
console.log(arr1.join('-'));//green-blue-red

字符串对象 根据字符返回位置 indexOf(’要查找的字符串‘,[起始的位置]可有可无

根据位置返回字符

1.charAt(index)根据位置返回字符;

var str='andy';
console.log(str.charAt(3))//y
//遍历所有的字符
for(var i=0;i<srt.length;i++){
    console.log(str.charAt(i))
}
  1. charCodeAt(index)返回相应索引号的字符ASCII值 目的:判断用户按下了哪个键

  2. str[index];

字符串的操作方法
  1. concat(‘字符串’,’字符串2‘…)、、连接字符串
var str='andy';
console.log(str.concat('red'));//andyred
  1. sbustr(‘截取的起始位置’,‘截取几个字符’);
var str1 ='改革春风吹满地';
console.log(str1.substr(2,2));//春风//第一个2是索引号的2从第几个开始  第二个2是取几个字符
  1. 替换字符 replace(‘被替换的字符’,’替换为的字符‘) 它只会替换第一个字符;
var str='andyandy';
console.log(str.replace('a','b'));

//有一个字符串’abcoefoxyozzopp‘ 要求把里面的o替换为*

  //有一个字符串’abcoefoxyozzopp‘  要求把里面的o替换为*
      var str='abcoefoxyozzopp';
      while(str.indexOf('o')!==-1){
      str=  str.replace('o','*');
      }
      console.log(str);
  1. 字符转换为数组 split(‘分隔符’)
var str2='red','green','blue';
console.log(str2.split(','));
  • toUpperCase() //转换大写
  • toLowerCase() //转换小写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值