首页 > 代码库 > javascript基础语法&2

javascript基础语法&2

7.number && 数据转换为 number类型
  初始化:
    var number = new Number(‘23‘);//使用构造函数创建 * 使用typeof操作符返回 ‘object‘;使用type函数返回‘number‘;
    var number = 23; //直接量
  方法:
    number.toFixed();//保留几位小数,结果会四舍五入;例如:1.0263.toFixed(2); 结果为 "1.03";
    (8).toString(n);转换为n进制的字符串;
    8..toString();
  转换类型:
    将别的转换为数字有三种方法:
      Number(value) && +value;
      为number类型直接返回value;
      为Boolean类型,true->1;false->0;
      为null,返回0;  
      为undefined,返回NaN;
      为String:
        空字符串返回0;
        如果字符串中只有数字(可包含前导符号), 则直接转换为数字, 如果存在前导零, 直接忽略;
        如果字符串中包含浮点格式(2.3), 规则同上;
        如果字符串中包含十六进制格式(0xf), 则将其转换为相同大小的十六进制整数值;
        如果字符串包含其他格式字符, 返回 NaN;
        如果是Object,则调用valueof()方法,对返回值按照上面的规则转换,如果为NaN,则在调用toString()方法,按照前面的规则转换;
   paseInt(value)&&parseFloat(value,system);
      把以system进制的value转换为10进制的数字;
        空字符串时返回NaN
        第一个字符不为数字或者正负号,返回NaN
        第一个字符是数字时候就处理第二个,直到不是数字为止;例: ‘152abc,sda12‘ => 152
        不认为小数点为合法字符,例:‘10.12‘ => 10

8.string && 转换为string类型,操作字符串
  创建字符串:
    var string = new String(‘alibaba‘); //构造函数;
    var string = ‘alibaba‘; //直接量,引号可为双引和单引;
    var string = ‘ali\‘baba‘; => ali‘baba ‘被转义;
    var string = ‘非打印字符: \n, \r, \t‘;
    var string = ‘使用十六进制表示, \x + nn: \x41‘;
    var string = ‘\u + nnnn: \u0061‘;使用unicode表示;
  转换为字符串:
    string(value);
    ‘‘+value;
    (number).toString(sys);转换为sys进制的字符串;
  string的属性和方法:
    length => 长度;
    string[n] =>访问string里面的第n+1个字符;
    concat() =>合并字符串一般直接用+;
    replace(key, value) => 将key替换为value,key可以为正则表达式;
    indexOf(value) =>从前开始查找value并返回value第一个字符的下标;如果为-1则为没有找到;
    lastIndexOf(value) =>从后面开始查找并返回value第一个字符的下标;如果为-1则为没有找到;
    search() => 查找value并返回value第一个字符的下标;如果为-1则为没有找到;
    match(value) => 如果参数是string找到了则返回[value]长度为1;如果为正则表达式则返回所有匹配的元素构成的数组;
    slice()/subSting()\substr() => 截取字符串,接收两个参数begin,end(可选,没有则截取到最后一个字符);返回包含begin下标不包含end下标的一个字符串;参数可以为负数;
    split() => 使用字符或者RegEXP为参数切割字符串,生成数组;
    toUpperCase() => 将小写字母转换为大写字母;
    toLowerCase() => 将大写字母转换为小写字母;
    charAt(number) => 返回number位置的字符;
    charCodeAt(number) => 返回number位置的字符的Unicode 编码;
    String.fromCharCode(unicode) => 静态方法,返回unicode对应的字符;
    trim() => 去除字符串两端的空格;
    trimLeft() => 去除字符串左边的空格;
    trimRight() => 去除字符串右边的空格;
    startsWith(str) => 判断字符串是否以str开头
    endsWith() => 判断字符串是否以str结尾
    repeat(number) => 将字符串平铺number次;
    contains(val) => 判断字符串是否包含val();可用查找方法代替,只要返回的值不为-1,即为包含;
    codePointAt(sub) => 返回sub对应的字符的编码,比charCodeAt()支持更多字符;
    String.formCodePoint(val) => 静态方法,返回编码对应的字符;
9.Blooean &&转换为Blooean类型
  创建:
    var flag = new Blooean(true);构造函数;
    var flag = true; 直接量;
    转换为Boolean类型方法:
      Boolean(val);
      !!val();
      if(val) => 会对val进行隐式转换;
10.Array && Array的创建和操作
  创建:
    var array = new Array(val); => 例: var array = new Array(2);创建一个长度为2的数组; [undefined,undefied];
    var array = new Array(2, 3); => [2, 3];
    var array = new Array(‘abc‘, ‘def‘, ‘456‘); => [‘abc‘, ‘def‘, ‘456‘];
    var array = [2, 3, ‘abc‘] => 直接量;
    var array = ‘a,b,c,d‘.split(‘,‘);
  数组的属性和方法:
    [].length => 长度,非只读属性;例:var arr = [a, b, c]; arr.length = 2; => arr = [a, b];
    push(); => 从数组的尾部插入元素;vaar a = [1, 2, 3].pop(); => a =3;
    unshift(); =>从数组的头部插入元素;var arr arr = [1, 2, 3]; arr.push(4, 5, 6); => arr = [1, 2, 3, 4, 5, 6];
    pop(); => 删除并返回数组的最后一个元素;vr = []; arr.unshift(1, 2, 3) => arr = [1, 2, 3];
    shift(); => 删除并返回数组的第一个元素; var a = [1, 2, 3].shift(); => a = 1;
    slice(); => 截取数组同string的类似;var arr = [1, 2, 3, 4, 5],arr1 = arr.slice(2, -1); => arr1 = [3, 4];arr不变;
    splice(); =>var arr = [1, 2, 3]; arr.splice(1, 1, ‘a‘,‘c‘); => arr = [1, "a", "c", 3];
    concat(val); =>生成一个新数组,获得两个数组(也可以为string,obj,number)的值,作为参数的值放在数组的尾部;
    join(val); => 将数组转换为val分割的字符串;例:var arr = [1, 2, 3]; arr.join(‘‘); "123"; arr.join(‘ ‘);"1 2 3";
    reverves(); => 反转数组顺序;
    sort(); => 排序数组;可以接收一个函数为参数;
    indexof();
    lastIndexof(); => 类似string的查找方法;返回元素在数组中的位置;如为-1表示数组中没有此元素;
    Array.isArray(); => 判断是不是数组;类似 isNaN();
  新方法:
    forEach(); => 循环数组;
    every(func) => 数组是否满足func条件;如果有一个不满足就返回false;
    some() => 只要一个满足就返回 true;
    map() =>
    filter() => 返回一个满足条件的新数组;
    reduce() =>
    reduceRight() =>

11.Object &&创建和操作;
  对象分类:
    Math => 数学运算的对象;
    Date => 日期对象;
    Fucntion => 函数对象;所有的函数都可以看作是它的一个实例;
    Object => 所有对象的源头;万物皆对象;
    RegEXP => 正则表达式;
  宿主对象:
    window
    top => ifarm访问外部的window对象;
    location
    history
  自定义对象:
    var obj = {};
  初始化:
    var obj = new Object();
    var obj = {};
  对象的属性和方法;
    constructor; => 指针;
      function person(){};
      var per = person.prototype;//获得对象的原型;
      var arr = per.constructor;//原型访问对象;
      arr => function person(){};
    toString();
    valueOf();
    hasOwnProperty(key); => 识别那些是自己本身的属性或者方法而不是继承下来的属性;
12.Math对象;
  Math.PI => π;
  Math.SQRT2 => 根号2;
  Math.abs() => 绝对值;
  Math.random() => 返回一个0 ~ 1的随机数;
  Math.max()\Math.min();
  Math.aqrt() =>计算平方根;
  Math.psw(j, i); => 计算j的i次方;
  Math.floor(); => Math.floor(1.5) => 1;
  Math.ceil(); => Math.ceil(1.2) => 2;
  Math.round(); => Math.round(1.2) => 1; Math.round(1.5) => 2;
  Math.sin() => 返回指定度数的正弦值;
  Math.cos() => 返回指定度数的余弦值;
  Math.atan2() => 返回正切值指定数字的角度;
13.URL;
  方法:
    encodeURI(); => 对整个URL编码;
    decodeURI(); =>对楼上编码过的进行解码;
    encodeURIComponent();//对?后部分进行编码
    decodeURIComponent() => 对楼上编码过的进行解码;
14.Date对象;
  初始化:
    var date = new Date();
    var date = new Date(‘2014/10/01‘);
  属性和方法:
    toUTCString() => 根据世界时 (UTC) 把 Date 对象转换为字符串,并返回结果;
    getFullYear()\setFullYear(); =>获取年\设置年
    getMonth()\setMonth(); => 月
    getDay()\setDay(); 周
    getDate()\setDate(); 天
    getHours()/getMinutes()/getSeconds()/setHours()/setMinutes()/setSeconds();\\时分秒
    getTime()\setTime();\\ UTC时间毫秒;从1970/1/1 0:00;

javascript基础语法&2