1、什么JavaScript?    运行环境 :    浏览器                  
 是一种具有安全性的客户端的脚本语言     用来实现与web页面交互
脚本语言:语言嵌入到html代码中
js可以让页面中静止的元素动起来       
 
2、js的历史背景(了解)
布莱登.艾奇
JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器端负责的一些表单验证。在那个绝大多数用户都在使用调制解调器上网的时代,用户填写完一个表单点击提交,需要等待几十秒,完了服务器反馈给你说某个地方填错了......在当时如果能在客户端完成一些基本的验证绝对是令人兴奋的。当时走在技术革新最前沿的Netscape(网景)公司,决定着手开发一种客户端语言,用来处理这种装简单的验证。当时就职于Netscape公司的布兰登·艾奇开始着手计划将1995年2月发布的LiveScript同时在浏览器和服务器中使用。为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司成立了一个开发联盟。而此时,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript,所以从本质上来说JavaScript和Java没什么关系
95 -- 网景      liveScript       
java              javascript  
h5 :   
h5  和 js  关系   :   是一样的  目的都是让静止的东西动起来      动画        
 
3、javascript的组成?
ECMAScript    欧洲计算机制造商协会   是一个组织   ,用来规范js语法   ES5   ES6
BOM               文档对象模型
DOM               浏览器对象模型
 
4、javascript  代码实现   内部脚本或外部连接
内部引入
1、所有的js代码必须出现在 <script>标签内   初学建议放到 body下面
2、<script>标签位置任意 除了title标签内   
外部引入
3、使用 <script src="路径"></script>
4、具有src属性的script标签内js代码无效
 
5、javascript的几个输出语句
 alert()   弹出对话框     阻塞其他代码执行   
 console.log()    控制台输出  用于调试
alert和 console.log  换行用“\n”
 document.write(  ); 在浏览器输出 
document.write 可以识别CSS的内联样式和HTML标签的自带样式
快捷键 :  ctrl + / 单行注释   
                ctrl + shift + /  多行注释
                ctrl + 上箭头  向上调整代码   (下箭头  向下调整代码)
                ctrl + D  删除一整行 
 总结 : 
.   前面的叫 对象   document.write()              
.  后面的有括号 叫方法  document.write()     
.  后面没有括号  叫 属性
 
 
6、js中的注释
 //   单行注释
/**/ 多行注释
 
7、js中的字面量(常量)  固定不变的量
 数值number
    整数
        十进制整数  0--9   90
        二进制      0 1 组成
        八进制      0--7组成   一般以   0开头    076   
        十六进制    0--9  a--f  一般以 0x   颜色 : #ffffff     
    小数  
 字符  string
    用引号括起来的单个字或多个字以及5位数以上的数字串   
    但是注意 引号嵌套   外面用双引号,里面就用单引号,反之相反
 布尔值 :  true 真    false  假    
 
8、js中标识(zhi)符(变量)的命名规范    
 1、 由 字母  数字  下划线   $  组成
 2、不能用数字开头
 3、不能用系统指定的关键字 命名 
例如 :   a3    sname   age     -age(错误)   _json   5a(错误) 
 不要情绪化命名  
 驼峰式命名法 :
    小驼峰   qianFengJiaoYu        getElementById()
    大驼峰   QianFengJiaoYu
 匈牙利命名  :    
    iNum = 90  
    oBtn         object
 
9、js中的变量
 什么是变量 :  在程序运行的过程中  值有可能会发生变化
 
10、变量的定义和赋值
var 定义变量  (var 可以省略  不建议)
var num = 90;
定义多个变量时,用逗号隔开
五位数以上的数字串用双引号括起来改成字符串
变量必须先定义 后使用
 
11、js中输出结果时注意几个问题:
  1、如果输出的是变量  不能加引号
  2、如果输出的是字符 , 必须加引号
  3、如果输出的是数字 , 可以不加引号
  4、如果输出字符和变量,中间必须用 + 连接
 
12、变量的数据类型(重点)
 基本数据类型 :
    字符型 string  值有多个
    数值型 number  值有多个
    布尔型  boolean 值有两个  true 真   false  假
 复合数据类型(引用数据类型,对象数据类型) :
    object 对象
 特殊数据类型 :
    undefined  null  
 
 function  函数   
 
13、(扩展) 测试变量的数据类型
typeof 变量        
typeof typeof( 变量 )   结果都是string
typeof( 变量 )     值的情况 : string  number  boolean  undefined object  function   (没有null)
 
14、运算符和表达式    (重点)
运算符 : 操作运算的符号  
表达式 : 一个常量、一个变量、一个式子 都称为表达式     
 
每一类运算符有哪些??
每一类运算符对应的表达式??
每一类运算符对应的表达式的值??
 
15、算术运算符
运算符 : +  -  *  /   %  (二元运算符  双目)
               ++   --    (一元运算符   单目)  
 -  *  /   %  运算符对应的表达式值 : 
 1、两侧都是数值 正常计算
 2、有一侧是纯数字字符串  字符串自动转换成数值   正常计算
 3、有一侧是非数字字符串  结果NaN  
     NaN : not  a  number   不是一个数  NaN不等于任何数和他自己  
 
% 模运算符 (求余数): 
1、结果取决于 "%" 左侧的操作数
2、大数 % 小数 = 余数   如 5%3=2
3、小数 % 大数 = 小数(绝对值)  如 3%5=3
4、任何数 % 10 === 个位数  
 
+ :  表示 加法运算 和 连接 
 数字和字符串相加 表示 连接      100+"10" - 10   --> 10000      结果类型  number 
 
单目  ++  自增      --自减  
注意 :自增和自减运算符 操作数必须是变量    
    i++ 或 ++i  
   i++和++i的异同:
    相同点 : 自增变量的值都会自增1 
    不同点 : 表达式的值不同  
                   如果 ++i , 先将自增变量i的值赋值给 j , 然后自增变量i再自增1 (先赋值  后自增)
                   如果 i++  ,先将自增变量i的值自增1,在将自增变量i的值赋值给 整个表达式j   
 
16、赋值运算符
  =  赋值 
 将右侧的值 赋值给 左侧的变量  
 注意 : = 符号左侧必须是变量        如  y = 10-x 
 
  复合赋值运算符 :   +=    -=    *=   /=   %=    
  x+=10  等价  x = x + 10    
 
17、关系运算符
 运算符 :  >  >=   <  <=    ==等于      ===全等于      !=不等于      !==不全等
 表达式 :  3>4     2===3  
 表达式的值 :   表达式成立 为true,不成立 为 false 
 表达式值几种情况 : 
 1、两侧都是数值   正常比较
 2、两侧都是字符   正常比较    
      根据字符的ASCII码 值 进行比较 
      a--97   A--65  0--48 往后每个数加1
 3、某一侧是纯数字字符串  字符串自动转成数值 
 4、不能正常比较的结果都是 false
 
== 和 === 区别 : 
 == 只比较值是否相等   
 ===  先 比较类型,再比较值
 
18、逻辑运算符
 运算符 : && 与    || 或    ! 非  
 表达式 (参与逻辑运算的一般为 布尔类型 )     3>4 && 6==5      3>4 || 9==9       !true
 表达式的值 :
    && (且) :   && 两侧都为真  ,结果为true  , 否则为 false           3>4 && 6==5 --> false     
    ||  (或)    :     ||  两侧都为假 ,结果为 假 ,否则就为真      3>4 || 9==9 -->   true
    !true -->false   !false--->true   
 
19、条件运算符 (三目运算符)    
  运算符 :   ?   :
  表达式  :  表达式1 ? 表达式2 :  表达式3          8<7 ? 89:90           10?1:2
  表达式的值 :  
        如果表达式1的结果为真,取 表达式2的值作为整个条件表达式的值 ,否则 取表达式3为整个条件表达式的值  
  
计算机中表示真假的几种情况 (一般用于判断中): 
   1、非0为真,0为假 
   2、所有字符串为真   空串为假     ""        ""?1:2     
   3、所有对象为真
   4、所有函数为真
   5、null 和 undefined 为假  

js基础和运算符的更多相关文章

  1. js函数和运算符

    函数是由事件驱动或者它被调用时执行可重复使用的代码块. <script> function myFunction(){ Alert(“hello World!”): } </scri ...

  2. Js数据类型和运算符

    1.数据类型      原始类型:数值 字符串 布尔值: 复杂类型:对象:             数值(number)                      特殊的数值:NaN,NaN不等于任何 ...

  3. js引入,js变量和运算符等

    页面级的js不管写在页面的哪里都可以 企业项目开发要求:结构(html),样式(css),行为(js)相分离 不要既写外部js,又写内部js:如果两个都写,则外部js生效 声明多个变量时,每个变量之间 ...

  4. js规则和运算符

    通过“+”号或toString()方法将数值转换成字符串. 通过parseInt()将字符串转换成整型. 通过parseFloat()将字符串转换成浮点型. charAt() 获取字符串特定索引处的字 ...

  5. openresty开发系列15--lua基础语法4表table和运算符

    openresty开发系列15--lua基础语法4表table和运算符 lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组".即可用作数组,也 ...

  6. Python基础0:变量 赋值 表达式和运算符

    变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...

  7. Shell编程基础教程2--变量和运算符

    2.变量和运算符 2.1.变量的类型 本地变量:环境变量:变量替换(显示变量):位置变量:标准变量:特殊变量: 2.2.本地变量 本地变量在用户现在的shell生命周期的脚本中使用 在命令行, LOC ...

  8. Python3基础-表达式和运算符

    表达式和运算符 什么是表达式? 1+2*3就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数. 1+2*3经过计算后得到的结果是7,我们可以将计算结果存放在一个变量里,result=1+ ...

  9. js基础笔记

    <!DOCTYPE html><html lang="en"><head>        <meta charset="UTF- ...

随机推荐

  1. 第十六篇 make中的路径搜索

     在实际的工程项目中,源文件和头文件都会组织成一定的目录结构,这样也便于项目的管理,前述我们分析的makefile,源文件和头文件大都在当前目录,没有路径搜索的问题,下面我们引入今天的演示程序的目录结 ...

  2. Linux设备树使用(二)

    一.设备树与驱动的匹配1.设备树会被/scripts中的dtc可执行程序编译成二进制.dtb文件,之前设备树中的节点信息会以单链表的形式存储在这个.dtb文件中:驱动与设备树中compatible属性 ...

  3. grandstack 基于graphql&&react&& apollo&& neo4j 的全栈开发工具

    grandstack是一个基于graphql&&react&& apollo&& neo4j 的全栈开发工具. 有篇关于graphql 的5个常见问题的 ...

  4. Understanding Safari Reader

    Interesting enough to find out the Reader function in Safari is actually Javascript and there are ma ...

  5. linux平台下防火墙iptables原理

    iptables简单介绍 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它能够取代昂贵的商业 ...

  6. oracle之 变更OS时间对数据库的影响

    本文:说明提供了操作系统日期变更对数据库.应用程序数据和作业的影响. 1.它将会影响插入的任何记录,如果涉及到sysdate,则更改日期.2.它还会影响在那个日期运行的任何调度器作业. 如果将系统时间 ...

  7. 从操作系统rm数据文件后,利用句柄与rman恢复的过程。(已验证)

    以下操作代码的流程是配的,但是相应的文件名,啥的   必须改动. 故障现象 数据文件被误删除 具体情况 接到反馈说,数据文件data20120512.dbf被误删除,需要恢复 数据库提示 ERROR ...

  8. weexpack 使用

    weexpack 的github地址:https://github.com/weexteam/weex-pack weex-toolkit: 初始化的项目是针对开发单个 Weex 页面而设计的,也就是 ...

  9. spring4 知识点

    1 bean的 创建 1,直接在配置文件里面写一个带有@Bean注解的方法(返回值就是那个bena对象),(name等于 方法名) 2,使用 FactoryBean 接口(三个方法分别是创建,类型,单 ...

  10. linux mutt的安装和使用

    首先介绍一下mutt这个软件,它是一款基于文字界面的邮件客户端,非常小巧,但功能强大,可以用它来读写,回复保存和删除你的邮件,能在linux命令行模式下收发邮件附件. 我只讲它很小的一部分功能,因为我 ...