Javascript入门

一.javascript发展历史:

   1.1994年,网景公司(Netscape)发布了Navigator浏览器0.9版,这是世界上第一款比较成熟的网络浏览器,轰动一时。
但是这是一款名副其实的浏览器--只能浏览页面,浏览器无法与用户互动,当时解决这个问题有两个办法,
一个是采用现有的语言,许它们直接嵌入网页。
另一个是发明一种全新的语言。

    2.1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运  行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。

     3.网景公司动了心,决定与Sun公司结成联盟, 后来验证java在浏览器客户过于臃肿,适合服务端开发。

     4.网景公司动了心,决定与Sun公司结成联盟, 后来验证java在浏览器客户过于臃肿,适合服务端开发。

     5.1996年8月,微软模仿JavaScript开发了一种相近的语言,取名为JScript

      6.1996年11月,Netscape公司决定将JavaScript提交给国际标准化组织ECMA  (European Computer Manufacturers Association 欧洲计算机制造商协会),希望JavaScript能够成为国际标准,以此抵抗微软。

     7. 1997年7月,ECMA组织发布262号标准文件(ECMA-262)的第一版,规定了浏览器 脚本语言的标准,并将这种语言称为ECMAScript。这个版本就是ECMAScript 1.0版。

     8.ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。

二.JavaScript能够干什么?

     1.浏览器客户端开发(前端开发)

          1. 常见的网页效果【表单验证,轮播图。。。】
          2. 与H5配合实现游戏【水果忍者: http://www.jq22.com/demo/html5-fruit-ninja/】
          3. 实现应用级别的程序【http://naotu.baidu.com】
          4. 实现统计效果【http://echarts.baidu.com/examples/】
          5. 地理定位等功能【http://lbsyun.baidu.com/jsdemo.htm#i4_5】
          6. 在线学编程【https://codecombat.163.com/play/】
          7. js可以实现人工智能【面部识别】

       2.服务端开发:node.js

       3.pc端桌面应用开发

三.JavaScript的组成

     1. ECMASCRIPT: 定义了javascript的语法规范,描述了语言的基本语法和数据类型
     2. BOM (Browser Object Model): 浏览器对象模型
  - 有一套成熟的可以操作浏览器的 API,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等
      3. DOM (Document Object Model): 文档对象模型
  - 有一套成熟的可以操作页面元素的 API,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给div 换个位置等

总结: JS 就是通过固定的语法去操作 浏览器 和 标签结构 来实现网页上的各种效果

四.JavaScript代码的书写位置

1.行内js代码(不推荐)

<a href='javascript:alert('11111')'>点击弹出111</a>

2.内嵌式

<script  tyoe='text/javascript'>

alert('我是一个弹出层')

</script>

3.外联式

<script src='index.js'></script>

五.js中的注释

//我是单行注释

/* 我是多行注释*/

六.变量

解释:变量指的是在程序中保存数据的一个容器
- 变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据
- 也就是说,我们向内存中存储了一个数据,然后要给这个数据起一个名字,为了是我们以后再次找到他
- 变量的本质是内存中一个存储单元
- 语法: var 变量名 = 值

1.

//定义一个变量

var num;

//给一个变量赋值

num = 100;

注意:一个变量只能储存一个值,若同时给予多个值,最后的将覆盖前面的值。且JS区分大小写。

2.命名的规则

1.必须是字母、数字、下划线和$符号组成。

2.不能以数字开头

3. 不能以特定关键字命名。如var 等

4.不能是保留字,将来有特殊用处的单词。

规范化:

1.命名时要语义化

2.驼峰命名法。如:userName;

3.不能使用中文。

3.控制台的输出

1.console.log(‘显示输出内容’);

2.consle.log(‘显示输出变量内容’);

4.内存结构

1.栈区域和堆区域

2.变量本质上是内存中的储存单元

七.数据类型

1.分类

   基本数据类型和复杂型(此处暂时略过)

      1.数字类型:number

           所有数字:1,2,3.....

           特殊数字:NaN,not a Number 非数字值

      2.字符串:string

           用引号赋值:'helloworld'

           var userName='JackMa'  //创建一个名为suerName的字符串,字符串的值为'JackMa'

       3.布尔类型:boolean

           true 成立(真)  false成立(假)

          例:var isDelete =true/false

        4.空类型:null

          var  isObject=null

         5. 未被定义的对象

             undefined    例:var age

    程序判断的类型

<script>
        var userName='JackMa'
        console.log(typeof userName)
    </script>

数据类型的转换:

例:字符串string->其他类型(number,boolean,null(object),undefined)

 <script>
        var message='100'
        console.log(message,typeof message)
        console.log(Number(message),typeof Number(message))
    </script>

 1> 数字类型Number

var message='100'  Number->100 Number(message') ->100  Number('100')->100

Number('jack')->NaN  Number(' ') ->0

2>PaeseInt()变量运算

ParseInt('100')->100

特点:1.从左向右转换

            2.遇到数值为字符串转换为数字,遇到非数字结束转换(如果第一个非数字,结束输出NaN)  

             3.小数->取整

3>ParseFloat()

              ParseFloat('10.98')->10.98

4>其它数据类型转换为布尔变量:boolean

''->fales; 0,NaN->'false' undefined->'false' 'null'->false  'hello'->true  10->true

5>isNaN 检出是否为非数值

isNaN   =>非数值类型数据   true

isNaN   =>不是非数值类型数据  false

1.连接符 +

    在JavaScript中有两层含义

        1.连接符  'hello’ + 'world' ->'helloworld'

         2.算数运算加法运算

          只要加号任意一边为字符串,则为连接符

           隐式类型转换 10+ '' ->'10'

运算符:  + - * /  % 

             除去加号,其他符号任意一边为字符串,就会自动转换为数字进行运算

            赋值运算符

            例:var a=10

                   a+=10   =>a=a+10

            比较运算  > < >= <= ==  ===  != !==

            ==是两边的值相等

           ===是两边的值与数据类型都相等

           逻辑运算

            1.且运算(与运算) &&   同真为真,有假为假       与运算时,若左侧结果为false,则右边不需参加运算

             2.或运算   ||                      有真为真,同假为假

             3.  非运算(取反运算) ! 非真则假,非假为真

             注意:短运算     false&&true -> false

            自增与自减

            a++,a--    a+1=a,a-1=a     运算时先运算在赋值

            ++a,--a     a=a+1,a=a-1     运算时先赋值,在运算

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值