二阶段自我总复习
 
1.javascript基础 : 
客户端   安全性   跨平台   脚本语言
三大结构:  顺序 、选择、循环       
            顺序:运算符和表达式   
                     逻辑运算符: 与&&  或||  非! 如:5||6     5&&6   
                     算术运算符: + - * / %   ++   --                    
                      关系运算符:  > <  ==   === 
                     条件运算符(三目)    ? :
                      赋值     =   +=   -=   *=   /=   %=
数据类型:      基本: string   number  boolen   
                        复合数据类型 : object  
                        特殊        null      undefined   
                        es6新增的数据类型 : symbol
 
(扩展) 
typeof 测试变量的数据类型 
typeof typeof 数据  ---> string
运算符的优先级
() > 单目 > 算术  >  关系  > 逻辑 > 条件  >  赋值   
          */%  +-           &&  ||  
 
类型转换
     在算术运算和关系运算中, 纯数字字符串会自动转换成数值进行计算    null 会自动转换成0     undefined 会自动转换成 NaN
    如: 1 + null  = 1
         1 + undefined  = NaN
         "a" > undefined   false
强制类型转换:  强制将某个类型转成另一个类型,如果不能正常转换,结果就是NaN
     parseInt()  将字符串转成整数
          parseInt("12")  --   12
          parseInt("12ab") --  12
          parseInt("ab12ddd") -- NaN
          parseInt("ab12") ---   NaN
          parseInt("12a34"); --12
     parseFloat()  将字符串转成小数
          parseFloat("12.34ab34"); --   12.34
          parseFloat("12ab12.34"); --   12
          
     Number()  尝试将某个类型转成 数值型  如果不能转换,值为NaN
          Number( true )   1
          Number( false )  0
          Number("12")      12
          Number( "12ab" );  NaN
          Number( "12ab34" )  NaN
      toString()  尝试将某个类型转成字符串   
 
eval() 将一个字符串转成表达式  并返回表达式的值 (将引号去掉)
        alert( "2+3" );
        alert( eval("2+3") );
        eval("alert(2)");
2.js中标识符(变量)的命名规范   
a、js中的标识符只能由 字母、数字、下划线、$  组成(不建议用中文)
b、标识符 不能用  数字 开头
c、不能使用系统指定的关键字命名
 
3.if和switch  选择结构 控制语句
if常用于对一定范围进行判断       
    if判断条件:
        1:所有非0的数字都表示true     否则为false
        2:所有非空字符串都表示true    否则为false
        3:条件直接写true  程序执行     false则不执行。
        4:if(NaN)  返回 false
        5:if(undefined)  返回false
        6:if(null)    返回false;
        7:所有对象返回 true;
        8:所有存在的函数 返回的true;
switch常用于对固定的值进行判断。
    switch ( 表达式 ){
           case 常量  : 语句;
           case  常量  :  语句 ;
           case  常量  :  语句 ;
           case  常量  :  语句 ;
            .......
            default  :   语句 ;
         }
执行逻辑:
            如果 case 后面的常量1 和 表达式1的结果匹配,开始执行 语句1;、
            如果 case 后面的常量2 和 表达式1的结果匹配,开始执行 语句2;
            ......
            如果所有的case 后面的值都不匹配 则执行的 是 default  后面的语句5
        特点:case 有穿透性
        怎样阻止case的穿透性:break语句。
附:下拉菜单写法:  <select>
                                                        <option></option>
                                                          <option></option>
                                            </select>
4.循环结构
            for    while    do...while    for...of    for...in    forEach()     break和continue
1.循环的五大要素:
        a:循环的变量
        b:变量的初始值
        c:循环体
        d:变量的增值
        e:循环的终止条件
循环的作用:
            1:重复执行一段代码,简化代码
            2:遍历数组、遍历对象、遍历节点集合......
    
2.for循环的语法:
        for(语句1;语句2;语句3){
            循环体
        }
for语法解析:
        语句1:声明循环变量、并且初始化    eg:   var  i = 1;
        语句2:循环的条件。         eg:i <=  100;
        语句3:循环变量的增值     eg:i++
     for 执行逻辑:
        先执行语句1(声明循环变量,并且对变量初始化),然后执行语句2(判断是否符合循环条件,如果条件成立则进入循环体。)循环体执行完之后,开始执行语句3(变量的增值,增值之后,再次执行语句2,开始对循环条件进行判断。)
 
 3.while循环
        语法:
           while(循环条件){
              循环的代码。
        }
while与do  while的区别:
        while:先对循环条件进行判断,如果条件成立则进入循环,如果不成立直接跳出(一次都不执行)
        do  while:  先对循环体执行一次,执行完一次之后,再对循环条件进行判断,如果条件成立则进入循环,否则跳出
while的执行逻辑:
            1:对条件表达式进行判断
            2:如果条件不成立,一次也不执行,直接跳出循环
            3:如果条件成立。进入循环,开始循环“循环体”,循环一次之后,再次对条件进行判断,如果成立则继续执行“循环体”。如果不成立则跳出循环
while的跳出:
            1:对循环条件的判断
            2:break跳出(终止循环)
5.函数   
关键字function创建   
             function myFn(){}
   字面量形式        
             var myFn = function(){}
构造函数形式
                var myFn = new Function();
函数的应用(调用函数):
            自调用          语法:   函数名();    函数名称后面有() 函数则执行。
            事件调用        事件源(绑定事件的元素).onclick = function(){}
  函数的特点:
                1:隐藏函数内部结构。
                2:函数不会自动执行,再调用的时候才会执行(选择性应用)
                3:重复应用,
 
函数的递归调用 : 自己调用自己
    function fn(m){
        if(m==1){
            return;
        }else{
            console.log( "hello" );
                    fn(m-1);
        }
    }
    fn(3);
   匿名函数自执行:
        (function(){ })()
 
6.arguments对象      
  arguments.length    实参的个数             arguments[0];
    通过arguments对象的length属性,可以判断实参的个数
打印所有传递的实参/
     function fn(){
         for(var i = 0 ; i <  arguments.length ; i++){
             console.log(arguments[i]);
         }
     }
     fn(3,4,5,6,7,8,9)
7.返回值   return:    
return  1:函数得返回值
        2:调用函数得时候,希望从函数里面获得的数据
        3:如果没有return  函数返回的undefined
        4:在函数里面遇到return 直接返回。后面的代码不再执行。(break;)
        5:return 只能出现在函数里面。
        6:return只能返回一个结果。
 
8.变量提升
js的执行:
            预编译(预解析)
                第一步:js 先去检测语法错误。(先去检测语法,如果语法错误,直接报错,不执行)
                第二部:变量提升。(把所有var声明的变量,提前到当前作用的最前面,所有的赋值语句原地等待)执行
变量提升:
            先把所有var声明的变量,提前到当前作用的最前面
            再次提升的是用关键字function定义函数
            (函数的权重大于变量)
9.内置对象
a.数组Array   操作方法:
 forEach()   filter()   map()   reduce()  indexOf() splice()--删除  替换 添加  slice()  join()  reverse()  concat()
            pop()  push()  shift() unshift()  some()  every()
b.字符串对象 String
    字符串的操作方法:
                indexOf()  charAt()  charCode()   String.fromCharCode()   slice()   substr()  substring()   split()   replace()
                toLowerCase()  trim()
10.正则
正则表达式对象  RegExp()
    正则的特殊字符 :
            写一个身份证正则 : /^\d{17}(\d|x)$/
            正则的操作方法 : test()   exec()
            参数是正则的方法 :replace  match  search()
            实现 :
                   使用正则去掉字符串中所有空白字符: "   heheh   hehaha   haha  ".replace( /\s/g , "" )
                                            var arr = ["tmd","mmp","sb"];
                                            var str = "hello sb sb tmd mmp wold  tmd tmd";
                                        for( var i = 0 ; i < arr.length ; i++ ){
                                                var reg = eval("/"+arr[i]+"/g");
                                        var reg =new RegExp( arr[i] ,"g" )   
                                           str =  str.replace(reg,"*")
                                                }
                                        console.log( str )
 

二阶段js 入门知识点 自我总结复习的更多相关文章

  1. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

  2. web前端开发分享-css,js入门篇(转)

    转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...

  3. web前端开发分享-css,js入门篇

    学习没有捷径,但学习是有技巧与方法.   一,css入门篇:   推荐书籍:css哪些事儿,精通css. 理由:css那些事儿,他是一本介绍css基础类的书,是入门的经典读物. 系统的介绍了css的选 ...

  4. HTML+CSS+js常见知识点

    一.HTML.CSS常见知识点 1.垂直居中盒子 /* 方法一 */ html, body { width: 100%; height: 100%; padding: 0; margin: 0; } ...

  5. 【JavaScript】JS从入门到深入(复习查漏向

    [JavaScript]JS从入门到深入(复习查漏向 pre 精细得学过一遍JS后才发现,原来之前CTF中有些nodejs的题目以及一些游戏题的payload就变得很好理解了. 基础知识 ECMASc ...

  6. C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记!

    今天我们继续来学习C语言的入门知识点 11. 作用域规则 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问.C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量 ...

  7. JS重要知识点

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  8. JS重要知识点(转载 学习中。。。)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  9. js基础系列框架:JS重要知识点(转载)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

随机推荐

  1. 自实现input上传指定文件到服务器

    遇到问题,解决问题,记录问题,成长就是一步一步走出来的. 一.添加 input 标签 我的工作中遇到了,需要上传pdf文件到服务器的需求,而且只能上传pdf文件,accept指定了 pdf 类型. & ...

  2. koa2服务端使用jwt进行鉴权及路由权限分发

    大体思路 后端书写REST api时,有一些api是非常敏感的,比如获取用户个人信息,查看所有用户列表,修改密码等.如果不对这些api进行保护,那么别人就可以很容易地获取并调用这些 api 进行操作. ...

  3. WPF依赖属性的正确学习方法

    前言 我在学习WPF的早期,对依赖属性理解一直都非常的不到位,其恶果就是,我每次在写依赖属性的时候,需要翻过去的代码来复制黏贴. 相信很多朋友有着和我相同的经历,所以这篇文章希望能帮助到那些刚刚开始学 ...

  4. 原生 js基础常用的判断和循环

    原生 js基础常用的判断和循环 以下部分是个人实践及和搜集的资料: 最常用的if判断语句: if (/* 条件表达式 */){ // 成立执行语句 } else { // 否则执行语句 } 原生js的 ...

  5. ThinkPHP5.0 模板

    ThinkPHP5.0 模板 模板渲染 默认的视图目录是默认的模块下的view目录 渲染规则:调用 \think\View 类fetch方法 // [模板文件目录]/当前控制器名(小写+下划线)/当前 ...

  6. python模块知识一 自定义模块、time、datetime时间模块

    第五章 模块 1.自定义模块: 模块分类: 内置模块(标准库)-- python解释器自带的.py文件(模块) 第三方模块(各种大神写的)-- 需要额外下载(并发编程pypi) 自定义模块(自己写的) ...

  7. IO-文件输出流

    一.输出流的原理 Java向文件中写数据的原理 Java程序-->JVM(java虚拟机)-->OS(操作系统)-->OS调用写数据的方法-->把数据写入到文件中 tips: ...

  8. spring的jdbcTemplate的使用

    转载:http://1358440610-qq-com.iteye.com/blog/1826816 一.首先配置JdbcTemplate: 要使用Jdbctemplate 对象来完成jdbc 操作. ...

  9. Prometheus 整合 AlertManager

    简介 Alertmanager 主要用于接收 Prometheus 发送的告警信息,它很容易做到告警信息的去重,降噪,分组,策略路由,是一款前卫的告警通知系统.它支持丰富的告警通知渠道,可以将告警信息 ...

  10. PAY8 数字货币支付结算系统,全球付!实时结算!秒到账!

    数字货币支付是历史发展的必然 如今已经有越来越多的地方接受加密数字货币作为支付消费了,比如泰国电影院连锁店 Cineplex Group 可用加密货币买爆米花和电影票,西班牙一精品酒店接受数字货币支付 ...