美文网首页
JavaScript笔记

JavaScript笔记

作者: 语无伦次的我 | 来源:发表于2016-08-24 21:50 被阅读0次

    小东西

    1.访问未初始化的变量

    var a;

    console.log("The value of a is "+a);// logs "的值未定义"

    console.log("The value of b is "+b);// 抛出ReferenceError异常

    2.数据类型

    六种原型数据类型(Boolean、null、undefined、Number、String、Symbol)以及Object对象

    3.数据转换

    parseInt()和parseFloat()分别用于字符串变为数字的全局方法。//双引号~

    4.对象的值

    对象属性名字可以是任意字符串,包括空串。如果对象属性名字不是合法的javascript标识符,它必须用""包裹。属性的名字不合法,那么便不能用.访问属性值,而是通过类数组标记("[]")访问和赋值。

    5.函数的递归

    function factorial(n){

      if((n==0)||(n==1))

      return1;

      else

      return(n*factorial(n-1));

    }    // 用自身递归计算阶乘

    6.闭包

    JavaScript允许函数嵌套,并且内部函数可以访问定义在外部函数中的所有变量和函数,以及外部函数能访问的所有变量和函数。但是,外部函数却不能够访问定义在内部函数中的变量和函数。这给内部函数的变量提供了一定的安全性。而且,当内部函数生存周期大于外部函数时,由于内部函数可以访问外部函数的作用域,定义在外部函数的变量和函数的生存周期就会大于外部函数本身。当内部函数以某一种方式被任何一个外部函数作用域访问时,一个闭包就产生了。

    7.函数默认参数是undefined

    对象数组以及字符串

    1.创建对象

    创建对象

    //直接创建

    person=new Object();

    person.name="bill";

    person.age="13";

    //函数构造对象

    function person(name,age)

    {

    this.name=name;

    this.age=age;

    }

    var myFather=new person("bill","13");

    //对象初始化器

    person={name:"bill",age:"13"};

    2.常用的APi

    1.数组

    concat() //连接数组

    join() //把数组变为字符串 默认分隔符为“,”,可以变为“ ”、“.”等等......

    pop() //删除并返回最后一个元素

    shift() //删除并返回第一个元素

    unshift(newelement1,newelement2,....,newelementX) //向数组的开头添加一个或更多元素,并返回新的长度

    push() //在末尾添加一个元素并返回数组的新长度

    reverse() //颠倒数组中元素的顺序

    slice(start,end) //提取start到end的数组值,原数组不改变

    sort()/sort(sortNumber) //字母顺序排序、数值大小排序

    splice(index,howmany,item1,.....,itemX) //如果删除数量(howmany)为0就不删除直接在index后面添加items,item为可选属性

    toSource() //返回该对象的源代码

    toString() //把数组转换为字符串,并返回结果

    3.字符串练习

    // 字符串长度

    function stringLength (str) {

    var theLength=str.length;

    return theLength;

    }

    // CHONG重复打印

    stringLength('strr');

    function repeatStringNumTimes (str,num) {

    var result="";

    while (num > 0) {

    result += str;

    num--;

    }

    return result;

    }

    repeatStringNumTimes('huang',3);

    function repeatStringNumTimes (str,num) {

    var array = [];

    for (var i = 0; i < num; i++) {

    array.push(str)

    }

    return array.join("");

    }

    repeatStringNumTimes ('strin',3);

    // 字符串去重函数

    function uniqString(str) {

    var Arr = str.split("");

    var newArr = [];

    for (var i in Arr) {

    if (newArr.indexOf(Arr[i]) == -1){

    newArr.push(Arr[i]);

    }

    }

    var strr = newArr.join("");

    return strr;

    }

    uniqString('wwwooorrrdddd');

    // 字符串翻转

    function reverseString(str) {

    var arr = str.split("");

    var reverseArr = arr.reverse();

    var strr = reverseArr.join("");

    return strr;

    }

    reverseString('str');

    // 去除数字

    function removeNum(str) {

    var res;

    if (typeof str === 'string') {

    res = str.replace(/\d/g, '');

    }

    else {

    res = str ;

    }

    return res;

    }

    removeNum('s1t4r3');

    //统计字符串出现的数量

    function caculateExistNum(str){

    var res = {};

    var Arr = str.split('');

    Arr.forEach(function (eachChar){

    res[eachChar] = res[eachChar] ? res[eachChar] + 1 : 1;

    })

    var strr = '';

    var key = Object.keys(res);

    key.forEach(function(eachChar) {

    strr = strr  + res[eachChar] + eachChar;

    })

    return strr;

    }

    caculateExistNum('strr');

    相关文章

      网友评论

          本文标题:JavaScript笔记

          本文链接:https://www.haomeiwen.com/subject/npsosttx.html