美文网首页
《JavaScript知识》从入门到放弃(一)

《JavaScript知识》从入门到放弃(一)

作者: AmatorLee | 来源:发表于2016-09-24 14:54 被阅读1186次

    写在前面:
    前两天微信发布了应用号瞬间刷爆了朋友圈,按照腾讯的野心这可是要整合移动端市场啊!虽然很多大牛表示不看好,但是,技术嗅觉却一定会让他们了解学习这东西,虽然可能仅仅为了不掉队。另外前端的这些知识也会被用在我们平时的app开发中,大厂们都已经走在了前头。所以前端的技术知识我也必须自行普及了。

    初识javaScript

    javaScript是由Brendan Eich在两周内写出来的一个可以在静态HTML页面上添加一些动态效果的语言。ECMAScript是国际标准。
    1.javaScript可以放在web的任何地方,不过我们通常把他放在<head></head>标签内
    2.也可以生成.js文件,在html中通过<script src="...js"><script/>标签添加。

    javaScript基本语法(笔记)
    1. 由于js的结束语句标识符为;但是就是并不强制要求咱们必须添加,但不添加可能会出现某些歧义(如return),所以一般写语句带上;
    2. js不注声明数据类型,而是通过后面的赋值表示其类型。通常通过var来声明局部变量。如果没有var则表示为全局变量
    3. 数据类型:
    4. 数值Number:
    js中不分浮点数和整数,所有java中的数值基本数值类型直接可用Number表示
    1//整数
    2.31//浮点数
    123.456e3//科学计数法
    NAN// NaN表示Not a Number,当无法计算结果时用NaN表示
    -23//负数```
     2. 字符串
    

    js中字符串可以直接用单引号''或者双引号""括起。
    '小敏'
    "小敏"
    "I'm a word!"//'此处表示一个字符
    'I'm "ok"!'//同过转义字符\即可将''""同时在字符串中表示
    多行字符串直接换行即可如
    '
    hello
    my student
    '
    字符串可通过length返回长度
    字符串是不可变的,但是可以通过方法改变其表现形式
    toUpperCase()//变成大写字母
    toLowerCase()//变为小写字母
    indexOf()//索引
    substring()//截取字符串,可指定开始位置和结束位置,不指定则为全部```

    1. 数组
    var arr = [1,2.13,true,null,'hello']//数组元素可以是任何类型
    数组可以通过length返回数组长度(但如给arr.length赋予一新值,则会改变数组数据)。
    数组可以通过索引直接付新值(arr[1] = 2,但如果索引大于数组长度会引起数组长度变化)。
    数组可以通过indexOf()方法进行查找数组元素位置
    slice()可以截取数组中的部分或全部元素并且返回一个新数组
    push()和pop()在数组末尾添加或删除数据
    unshift()和shift()在数组起始处添加或删除数据
    sort()给数组排序
    reverse()表示翻转数组
    splice()
    修改数组的方法arr.splice(2,3,'JAVA','C#')表示在第二位起删除3个数据后添加两个数据
    join()给数组添加链接符```
     4. 对象
    

    js中的对象是一种无序的集合类型,通过键值对表示其key和value,键值对通过:号连接,不同的键值对则通过,分隔.
    可以通过变量名称.key直接访问value值,如果key包含特殊字符则需变量名['XXX']访问。eg(tom['old_Name'])
    如果访问一个不存在的的键值对,不会报错只会返回undefined
    如果添加,我们可以直接利用变量名添加(a.name = 'Tom')
    如果删除,我们可以直接利用delete删除
    如果查询是否存在,利用in('age' in a)返回布尔值,但注意in查询的不一定在该对象内,也可能是继承来的。
    如果只想查询该对象含有的属性,可以使用hasOwnPorperty();```

    1. 循环
    包括while(){},for(;;){},do{}while();三种循环。用法简单。
    for.....in
    var a = ['1','2',3,true];
    for(var b in a){
        alert(b);//结果为0,1,2,3,证明输出的是它的下标
    }
    for(var c of a){
      alert(c);//结果为1,2,3,true;证明结果为其值
    }
    
    1. Map和set
    Map是利用键值对的形式进行存储的
    var map = new Map(['Meachel',20],['Tom',21]);//有参声明
    var map = new Map();//无参声明
    map.set('Tom',21);//添加,修改
    map.has('Tom');//查询
    map.get('Tom');//获取
    map.delete('Tom'); //删除
    Map通过key添加value,如果相同key,后面的value会覆盖前面的value。
    Set
    var set = new Set([1,2,3,4]);//有参声明
    set.add(5);//添加
    set.delete(3);//删除
    Set没有key,添加相同元素会被覆盖。数学中这也是集合的三大要义之一。
    
    1. Iterable
    通过forEach(function())(...)是最高效的方法。
    Array的function()De参数为element,index,array
    var a = ['A', 'B', 'C'];
    a.forEach(function (element, index, array) {
        // element: 指向当前元素的值
        // index: 指向当前索引
        // array: 指向Array对象本身
        alert(element);
    });
    Set的function()的参数为element,sameElement,set,并且第一第二个都指向元素;
    var s = new Set(['A', 'B', 'C']);
    s.forEach(function (element, sameElement, set) {
        alert(element);
    });
    Map的function()的参数为value,key,map
    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    m.forEach(function (value, key, map) {
        alert(value);
    });```
    
    
    #####小结:
    这些个学习笔记我都是在[廖雪峰的个人网站](http://www.liaoxuefeng.com/)上的javaScript教程学习整理的,仅作学习用途。希望可以直接访问廖老师的个人网站学习,打赏。
    **如果您发现本文有所错漏,麻烦留言交流共同进步**

    相关文章

      网友评论

          本文标题:《JavaScript知识》从入门到放弃(一)

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