2018.12.6


JavaScript来源

网景公司为了解决表单验证问题。


JavaScript组成

-ECMAscript:由ECMA(欧洲计算机制造者协会)定义标准。
-DOM(文档对象模型):由W3C定义标准。
-BOM(浏览器对象模型):由firefox来定义标准。


JavaScript简介

JavaScript是互联网上最流行的脚本语言,可用于Web和HTML,更广泛应用于服务器、pc端、移动端。一般运行在宿主环境(如:浏览器)中。
特点:
JavaScript是一种轻量级的编程语言(编程语言:有分支、有循环)。
JavaScript是一种动态语言(一个变量可以持有任意类型的值)。
JavaScript是一种脚本语言,由浏览器解释执行。
JavaScript是一种解释型语言,边解释边执行。


JavaScript的引入方式

1.方法一
可以将JavaScript代码放在中或标签之前。放在中或标签之前的JavaScript代码需要用标签包裹起来。并且插入到HTML中的JavaScript代码无数量限制。
2.方法二
单独创建一个JavaScript文件,扩展名为.js。将编写好的js代码引入到HTML的标签中。引入js的格式为,将放在标签中。


JavaScript输出--write





    
    
    
    demo1
    
    
    
    





    

注:两条性能优化的规则
-样式表一定要以标签的形式放在中。
-JS一定要以

-标识符:必须以字母、下划线或美元符$符号开始。
-编码时对大小写敏感。
-空格:js会保留一个空格,多余的空格会被忽略。
-保留字


JavaScript注释

-单行注释:用//注释内容。
-多行注释:用/注释内容/(多行注释不能嵌套)




    
    
    
    注释 demo

 




JavaScript基础--值

值分为两大类:
-基本数据类型(String、Number、Boolean、Undefined、Null)
-引用数据类型(Object、Array、Function)
字面量:


QQ截图20181210195207.png

JavaScript基础--变量

变量是存储数据的容器。通过关键字var来声明变量,变量名必须以$、_、字母开头。不能使用关键字、保留字。一般采用驼峰命名法(如:firstName),第二个单词的首字母大写。


2018.12.6_第1张图片
image.png

2018.12.6_第2张图片
image.png



    
    
    
    variable demo





JavaScript基础--引用数据类型

引用数据类型包括:函数(Function)、对象(Object)、数组(Array)。后面会详写。


JavaScript基础--基本数据类型

字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(undefined)、Symbol (ES6中添加的类型)。可以通过赋值为null的方式清除变量。当用关键字var定义变量时,若没有给变量赋初始值,那么变量的数据类型为undefined。




    
    
    
    DataType demo

   



-typeof(a)/typeof a 返回值的数据类型,注意:是值的数据类型,而不是变量的。js中只有值才持有数据类型。




    
    
    
    基本数据类型


    

JS的基本数据类型

  • Number
  • String
  • Null
  • undefined
  • Boolean

堆栈

基本数据类型占用空间小,它们的值保存在栈中,按值来访问。
引用数据类型占用空间大,栈内存中存放地址指向堆内存中的空间,按引用来访问。


JavaScript语法--运算符

按操作数的个数:
-一元运算符(一个操作数,如:+a,-b)
-二元运算符(两个操作数,如:a+b)
-三元运算符(三个操作数,如:条件?值1:值2)
--
按功能:
-算术运算符:+ - * / %(取余) ++(自加) --(自减)
-赋值运算符:= += -= *= /= %=
-字符串操作:+(拼接)
-比较运算符:> < == === != !== >= <=
-逻辑运算符:&& || !
-条件运算符:x<10? "x比10小":"x比10大"

算术运算符

--
以+为例




    
    
    
    count demo


    

i=10,j=10,i+j=?

--
以--(自减)为例




    
    
    
    自减 demo


    

i=5,i--?

i=5,--i?

--
++(自加)的一些例子:



    
        
        
        
    
    
    

+(字符串运算符)

+拼接符号两边的字符串




    
    
    
    字符串拼接


    



逻辑运算符

&&(逻辑与)、||(逻辑或)、!(逻辑非)
逻辑运算返回Boolean值。


赋值运算符

复合赋值操作符
加法赋值 x += y <==> x = x + y
减法赋值 x -= y <==> x = x - y
乘法赋值 x *= y <==> x = x * y
除法赋值 x /= y <==> x = x / y
求余赋值 x %= y <==> x = x % y

--
以%=为例




    
    
    
    赋值运算符

 



比较运算符

大于号 >= 大于等于 < 小于号 <= 小于等于
== === != !==




    
    
    
    比较运算符





位操作符

在计算机中数值都以二进制补码形式存储和运算。
无符号数的取值范围:0~255.
有符号数的取值范围:-128~127.
所有的按位操作符的操作数都会被转成补码形式的有符号32位整数。


2018.12.6_第3张图片
image.png

--按位异或
同为0,异为1

1.将-3转换为32位二进制数
-3的原码
-3 = 1000 0000 0000 0000 0000 0000 0000 0011(负号转为1,正号为0)
-3的反码(符号位不变,按位取反)
     1111 1111 1111 1111 1111 1111 1111 1100
-3的补码(末尾+1)
     1111 1111 1111 1111 1111 1111 1111 1101
将8转换为32位二进制数(正数的原码、反码、补码相同)
8 =  0000 0000 0000 0000 0000 0000 0000 1000
2.按相同为0,不同为1的规则进行运算(符号位也要参与运算)
     1111 1111 1111 1111 1111 1111 1111 0101(补码)
3.将上述结果转为原码(补码转原码)
     先-1
     1111 1111 1111 1111 1111 1111 1111 0100
     取反(符号位不变,按位取反)
     1000 0000 0000 0000 0000 0000 0000 1011
     最终为-11

条件运算符

条件表达式?语句1:语句2
1.首先执行条件表达式
2.返回值为true则执行语句1,否则,执行语句2.


运算符的优先级

MDN运算符优先级表

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table

你可能感兴趣的:(2018.12.6)