美文网首页
JavaScript-01

JavaScript-01

作者: 白雪公主960 | 来源:发表于2019-08-12 11:03 被阅读0次

    JavaScript概述

    什么是JavaScript

    javascript是一种运行于JS解释器/引擎中的解释性脚本语言

    JS解释器/引擎其实就是JS运行环境:分为两种
    1.独立安装的解释器NodeJS
    2.浏览器内核中嵌入的JS解释器

    注:解释型的语言在运行之前不会编译,编译型语言在运行前会先编译

    JavaScript的发展史

    完整的JavaScript的组成

    1.核心(ECMAscript)
    2.文档对象模型(DOM,Document Object Model)让JS有能力与页面元素进行对话
    3.浏览器对象模型(BOM,Browser Object Model),让JS有能力与网页进行对话

    JavaScript的特点

    1.编写简单(任何文档编辑工具都可以编辑)
    2.无需编译,直接运行
    3.弱类型编程语言,由数值来决定数据类型
    4.面向对象的编程语言

    JavaScript的用途

    客户端的JS
    1.客户端的数据计算
    2.表单输入验证
    3.网页中的事件触发和处理:onlick 单击元素时做的操作
    4.网页特效制作
    5.服务器端异步数据提交(AJAX)

    服务器端的JS
    1.分布式运算
    2.实时服务器
    3.窗口应用
    4.网络应用

    JavaScript基础语法

    使用JavaScript

    浏览器内核:(浏览器内核负责内容的渲染,主要由两部分组成)
    1.内容排版引擎-解析HTML/CSS
    2.脚本解释引擎-解析JavaScript

    浏览器 内核名称 内容排版引擎 脚本解释引擎
    IE Trident ---------- Chakra
    Firefox Gecko ---------- 猴子系列
    Safari Webkit Webcore Nitro
    Chrome Webkit Webcore V8
    Opera Presto ------------ Carakan
    Opera(2013年后)后同Chrome - - -

    运行JS方式

    1.使用独立的JS解释器(了解)
    2.使用浏览器内核中内嵌的JS解释器(重点)

    • 2.1直接在Console中输入脚本并执行
    • 2.2将JS脚本嵌入在HTML页面中执行

    2.2.1html元素事件
    onclick(鼠标单击时执行的操作)
    onmouseover
    onmousemove
    2.2.2<script>元素中编写JS脚本
    可以出现在网页的任何位置处

    <script>JS脚本</script>

    2.2.3外部脚本块
    1.创建脚本文件并编写脚本文件
    2.引入脚本文件,在<head>中添加<script>标签
    <script src="脚本文件路径"></script>

    注意:
    1.必须是成对的标签
    2.在该对标签中,不允许有出现任何的内容

    JavaScript调试

    1.解释性语言,若某行代码错误,则解释器终止此次执行
    2.但不会影响后续块的执行,以及后续HTML元素的解析

    使用错误控制台查看

    语法规范

    语句:会被JavaScript引擎解释器执行的代码

    1.由表达式,关键字,运算符组成
    2.大小写敏感
    3.使用分号或者换行结束

    注释:不会被JavaScript引擎解释执行的代码
    1.单行注释://
    2.多行注释:/............................../

    变量

    什么是变量

    相关概念

    内存:保存程序在运行过程中所需要用到的数据
    变量:内存中的一段内存空间
    值:变量中(内存空间)所所存的数据
    变量名:内存空间的别名

    变量的声明

    声明:使用关键字var声明变量:var useName;

    声明变量并赋值:使用"="为变量赋值:var bookPrice=29;

    注意:
    1.声明变量时可以不加var,但是不加的话,那么声明的就是“全局变量”,有可能造成“全局污染”
    2.没有初始化的变量自动取值为undefined

     var publishDate;
     console.log(publishDate);
    
    • 一个语句中声明多个变量
      可以在一条语句中声明多个变量,变量名用","进行分隔
      var name1,name2,name3;
      var age1,age2=30;

    • 命名需要符合标识符语法要求
      不允许使用语言关键字和保留字作为变量名

    标准关键字
    break,case,catch,continue,default,delete,do,else,flase,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,undefined.........

    预保留的关键字class,int float

    • 命名规范

    标识符是什么?表示变量或函数的名称

    标识符命名规范:
    1.可以包含字母,数字,下划线和美元符号
    2.不能以数字开头
    3.常用于表示函数,变量等的名称
    4,名称最好有明确的含义
    5.可以采用"匈牙利命名法","下划线命名法","小驼峰命名法","大驼峰命名法",需要在开发团队进行协调统一

    变量的使用

    • 未经初始化的变量
      注:
      1.变量定义之后,在使用前从未赋过值,它的值为undefined
      2.变量未被定义过,如果被直接使用,属于语法上的错误

    • 在变量声明时初始化
      在定义变量时立即进行初始化

    var age=10;
    var gender='男';
    var zhengZhiMianMao='党员';
    var email='tom@163.com';
    var isOnSale=true;
    
    • 在第一次使用变量初始化,变量可以先声明,再赋值
    var price;
    price=39;
    console.log(price);
    
    • 可以对变量中的值进行存取,操作
      1.获取变量的值 GET操作
      (感觉就是把一个原有了值得变量再赋值给一个新的变量,类似于值得传递)

      2.重新设置变量的值SET操作
      (有一个变量已经有一个值了,在把另一个有值得变量赋值给它,有点像值得覆盖)

    • 变量的操作必须于类型匹配
      虽然JavaScript是弱类型语言,语法上允许变量先后赋值为任意有效值,但是在项目开发中,对变量的赋值和操作也要注意是否满足实际业务要求.

      比如人数不能是浮点数

    常量

    什么是常量?一旦声明好,就不能被修改的数据叫做常量

    声明常量:const 常量名=值;

    注意:常量声明时,必须赋值.常量的声明一般采用全大些的方式

    数据类型

    什么是数据类型?保存在内存中的数据类型

    8bit(位)=1byte(字节)
    1024kb=1kb(千字节)
    1024kb=1MB
    1024MB=1GB
    1024GB=1TB

    原始类型:
    number 数字
    string 字符串
    boolean 布尔


    特殊类型:
    null 空
    undefined 未定义


    引用类型:
    Object 对象
    Function 函数
    Number 数字
    String 字符串
    Boolean 布尔
    Data 日期
    Error 错误


    基本数据类型(原始类型)

    • number类型

    数字类型: 既可以表示32位的整数,也可以表示64位的浮点数

    整数:
    十进制:逢十进一的整数:比如1234567890
    八进制:逢八进一的整数:比如12345670
    十六进制:逢十六进一的整数:比如0x123456789abcdef0

    浮点数:
    使用小数点记录数据:94.2
    使用指数记录数据:如4.3e23,4.3E-23

    • string类型

      字符串类型:
      1,表示一系列的文本字符数据,比如性别,姓名,住址等
      2.由Unicode字符,数字,标点符号组成的序列
      3JavaScript不像Java语言那样严格区分字符串和字符串类型
      4.首位由一对单引号或者双引号括起来
      5.特殊字符需要转义符 :

      \n换行
      \r回车
      \t制表符
      \" :  "
      \' : '
      \\ : \
      
    • boolean类型: 布尔类型

    1.仅有两个值:true和flase
    2.也代表1和0
    3.实际运算中true=1,flase=0
    注:多用于结构控制语句

    数据类型转换

    • 隐式转换
      1.JavaScript属于松散类型的程序语言

    1.1变量在声明时不需要指定数据类型
    1.2变量由赋值操作确定数据类型

    2.不同数据类型在计算过程中会自动进行转换

    数字+字符串: 数字变字符串
    数字+布尔值: true变1,flase变0
    字符串+布尔值: 布尔值变为字符串true和flase
    布尔值+布尔值: 布尔值转换为数值1或0
    数字+undefined:结果为NaN,NaN的类型为number

    typeof()函数 (用于查询当前类型)
    语法:var r1=typeof(变量); 返回string/number/boolean/object/finction/undefined

    例如:typeof('hello'+3), 返回的是"string"

    • 数据类型转换函数

      toString(),将任何类型的数据转换成字符串类型var newVar=变量.toString()

      parseInt(),将一个数据转换“整数”,语法:var result=parseInt(变量)

      注意:
      1.碰到第一个非数字字符则停止转换,已经转换的则保留
      2.如果第一个字符就是非数字字符,结果为NaN

    parseFloat(),解析出一个string的浮点数部分,如果没有可以转换的部分,则返回NaN

    Number(),把一个string解析为number,如果包含非法字符,则返回NaN

    • isNaN函数

    isNaN()

    1.用于判断其参数是否为一个"非数字(NaN)"值
    2.如果把NaN与任何值(包括其自身)相比得到的结果均为flase,所以要判断某个值是否为NaN,不要只用==或===运算符,这种情况下只能使用isNaN()函数
    3.通常用于检测类型转换函数的运算结果,以判断它们表示的是否是一个合法的数字

    语法:
    isNaN( ):是不是一个数字,返回结果 true 不是一个数字,flase 是一个数字

    例如:

    console.log(isNaN("123.4a")); //true
    console.log(isNaN(parseInt("123.4a"))); //false
    

    特殊数据类型

    • null

    1.语义:"存在该数据,但当前还不存在确定的值"
    2.null在程序中代表"无值"或者"无对象"
    3.可以通过给一个变量赋值null来清除变量的内容

    • undefined

    1.语义:"不存在该数据"
    2.声明了变量但是从未赋值或者对象属性不存在

    var msg;
    console.log(msg);
    var emp=new Object();
    console.log(emp.isOnSale);
    

    相关文章

      网友评论

          本文标题:JavaScript-01

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