• JS概念及基本语法


    一、JS概述

      1.什么是JS?

        是一种基于对象和事件驱动的客户端脚本语言;

        运行环境:浏览器(通过浏览器解释执行)

      2.JS产生于哪一年,哪个公司,是谁?第一个名字是什么?

        1995年,网景公司、布兰登、liveSpcript

      3.W3C第一个标准是什么?

        ECMA-262

      4.JS包含哪几部分?

        1)ECMAScript

        2)DOM

        3)BOM

    二、页面中如何引入JS?

      1.行内引入脚本(事件)(不推荐)

      2.内部引入脚本<script></script>

      3.外部引入脚本<script src="index.js"></script>

      注:外部引入时,script标签中尽量不要写任何内容,如果写了,也不会执行

    三、JS中有哪些输出方法?

      1.alert():以警告框的方式输出,执行到alert是,会中断后面程序的执行(一次只能输出一个值)

      2.document.write():输出在页面中,会影响到页面的布局

      3.console.log():输出在控制台中,不会影响用户体验,是程序员最常用的排错工具,他可以输出对象的详细信息(可以输出多个值)

      注:JS输出方式注意的事项

        如果输出的是字母或者中文,用引号包起来,引号可以是单引也可以是双引;

        如果输出的是数字,引号可加可不加;

        如果输出的是变量,一定不能加引号;

        如果输出的有字符串和变量,字符串和变量之间用+号进行连接

    四、如何换行?

      页面中换行:<br>

      JS中换行:

      扩展:转义字符

          :空格(8格)相当于键盘上的tab

    五、注释

      //单行文本注释

      /*多行文本注释*/

    六、JS中数据类型有哪些?

      基本数据类型:Number(数值) String("字符串" '字符串') Boolean(true,false)

      特殊数据类型:null(对象为空) undefined(基本数据类型为空)

      复合数据类型:Object(对象)

    七、标识符的命名规则有哪些?

      1.命名中只能包含字母、数字、下划线、$、中文(不推荐)

      2.不能以数字开头

      3.不是保留数字或关键字

      4.具有相关含义,语义化命名

      5.驼峰式命名

        大驼峰:每个单词的首字母大写的命名方式

        小驼峰:出第一个单词的首字母小写,其余每个单词的首字母大写的命名方式

      6.匈牙利命名法:

        int     iNum

        float  fNum

            boo

        字符串 str

        char  ch

        Object obj

        function  fn

    八、什么是变量与常量?

      1.变量:在内存中开辟一块空间,用于存储数据,在程序运行的过程中,这个数据有可能发生变化,所以称为变量

      2.常量:永恒不变的量

    九、如何声明变量?

      1.显式声明:var 变量名 = 3,变量名1,变量名2...;

      2.隐式声明: 变量名 = 5 ;

    十、如何给变量赋值?

      1.初始化变量(给变量赋初值):声明变量的同时,给他赋值

      2.先声明,后赋值

    十一、运算符

      1.递增递减运算符

        ++  --

        逻辑思想:从左到右计算,先遇到变量,则先取变量的值参与其他运算,然后再自增或自减1;如果先遇到++或--,则先将变量中的值+1或-1,再参与其他运算

      2.算术运算符

        * :乘

          逻辑思想:

          1)Number类型之间的相乘,正常运算

          2)Number/String 与String相乘,先将String类型转化为Number类型,再相乘;如果是数字字符串可以正常转为数字;如果是含有非数字的东西,转换失败,转换成了NaN,乘NaN结果都是NaN

          3)true:1 false:0 null:0再计算

          4)undefined/NaN,结果为NaN

        /:除

          逻辑思想:同乘法

          注:非0的数/0:infinity(无穷尽);0/0:NaN

        %:模(取余)

          逻辑思想:同乘法

        -:减

          逻辑思想:同乘法

        +:加

          逻辑思想:1.如果加号两边有字符串,则起连接作用,连接成新的字符串;

               2.除第一条以外,true:1;false:0;null:0

               3.除第一条以外,underfined NaN 结果都为NaN

      3.关系运算符

        > : 大于 < : 小于 >= : 大于或等于 <= : 小于或等于

          逻辑思想:1. Number之间比较,正常比

               2. Number与String之间比较,先将String转为Number,再比较

               3. String之间比较: 从左到右依次比较每一个字符

               4. true : 1 false : 0 null : 0 进行比较

               5. undefined/NaN false

        == : 等于 != : 不等于 === 全等(恒等) !== 不全等(不恒等)

          == 和 != : 只比较结果 3 == '3'

          === 和!== : 先比较数据类型,再比较结果 3 === '3' 

          切记:console.log(null == 0); //false

             console.log(null == false); //false

             console.log(null == ''); //false

             console.log(null == undefined); //true

             console.log(null === undefined); //false

      4.逻辑运算符(0,false,'',null,undefined,NaN)

        ! : 非

          逻辑思想:非真即假,非假即真

          注:0、false、null、undefined、NaN、" "都为假

        && : 与

          逻辑思想:如果&&左边表达式的值为true时,则返回右边表达式的值

               如果&&左边表达式的值为false,短路,则返回左边表达式的值

        || : 或

          逻辑思想:如果||左边表达式的值为true时,短路,则返回左边表达式的值

               如果||左边表达式的值为false时,则返回右边表达式值

      5.三元运算符(三目运算符、条件运算符)

        格式:表达式1 ? 表达式2 : 表达式3

        逻辑思想:先计算表达式1的值,值为true时,执行?后面的表达式2,值为false时,执行:后面的表达式3

      6.赋值运算符

        1)简单赋值 =

        2)复合算数赋值:+=、-=、*=、/=、%=

        逻辑思想:先取运算符左边变量中的值,然后与运算符右边表达式的值进行相应的算术运算,最后将结果再次赋值给左边的变量。

      7.特殊运算符

        1)typeof :检测数据类型

          console.log(typeof 3); //"number"

          console.log(typeof '3'); //"string"

          console.log(typeof true); //"boolean"

          console.log(typeof false); //"boolean"

          console.log(typeof null); //"object"

          console.log(typeof undefined); //"undefined"

          console.log(typeof NaN); //"number"

          console.log(typeof typeof 3); //"string"

          console.log(typeof typeof 3 + 3 - 4); //NaN

        2)new : 创建对象

      8. 优先级:

        ++ -- ! typeof new 

        * / %

        + -

        > < >= <=

        == != === !==

        &&

        ||

        ?:

        = *= /= %= += -=

    十二、数据类型转换

      1. parseInt('字符串',整数) : 将以有效数字开头的字符串转为整数,否则转为NaN

      注:第二个参数整数的范围是 2~36 进制

        1)如果省略第二个参数或第二个参数是0时,默认第一个参数是10进制

        2)如果第二个参数 小于2 或大于36时,结果都是NaN

      2. parseFloat() : 强制将以有效数字开头的字符串转为小数,否则转为NaN

      3. Number() : 将所有有效数字字符串转为数字,否则转为NaN;特殊:false转为0,true转为1

      4.Boolean():强制将某个类型转成布尔类型;0、false、null、undefined、NaN、" "都为假

      5.名称.toString():强制将某个类型转成字符串类型;注:不需要参数

      扩展:

      6.isNaN() :判断是否是NaN,如果是,返回true,否则返回false

      7.eval() :解析字符串,并返回表达式的结果

    十三、代码规范

      1. 运算符两边各加一个空格

      2. 写在大括号中的语句,要缩近一个tab键

     十四、prompt输入对话框

      格式:var name = prompt("请输入一个数","默认值");

      特点:一个输入框,一个确定按钮,一个取消按钮

      拓展:.tofixed(n)保留n位小数

    Why do you work so hard? Because the things I want to buy are expensive and the places I want to go are far away. The person I like is very excellent.
  • 相关阅读:
    MBR:How It Works Master Boot Record
    查看系统信息命令:uname
    随笔:Highcharts学习笔记
    关于邮箱模板样式设计的一些思考
    Android学习笔记之环境搭建
    [转]简要分析Ogre渲染队列的实现原理(一)
    [转]Improving link time with IncrediBuild,减少联合编译器的链接是时间
    [转]目前游戏行业内部主要几款游戏引擎的技术对比
    [转]行程编码(Run Length Encoding)和算术编码
    [转]简要分析Ogre的渲染队列实现原理(二)
  • 原文地址:https://www.cnblogs.com/liufuyuan/p/10297045.html
Copyright © 2020-2023  润新知