JS学习(一)

初识js

了解 JS

      + 在一个网页里面

        => html 表示结构

        => css 表示样式

        => JS 表示行为

      + JS 的三大核心

        => ECMAScript

          -> JS 的标准, 语法

        => BOM(Browser Object Model)

          -> 就是一整套操作浏览器的属性和方法

        => DOM(Document Object Model)

          -> 就是一整套操作文档流的属性和方法

      + JS 的本质

        => 就是通过 JS 的语法, 让浏览器发生变换

        => 让 文档 发生变化

JS书写格式  行内式  内嵌式  外链式 

JS 的书写

      + 分成三种方式

        1. 行内式(强烈不推荐)a标签和非a标签行内样式

        2. 内嵌式(不推荐)

        3. 外链式(推荐)以后都在脚手架上书写js代码了

    1. 行内式 JS 代码

      + a 标签

        => 因为 a 标签本身就有行为出现

        => 当我点击的时候, 需要区分你是跳转连接还是执行 JS 代码

        => 在 href 属性里面书写一个 javascript: JS代码 ;

        <a href="javascript: alert('蔡虚坤')">点我看我名字</a>

      + 非 a 标签

        => 因为没有自己的行为, 我们需要给他加一个行为

        => 写一个 onclick 属性, 表示当点击时

        => 属性值的位置书写 JS 代码

        => <div οnclick="JS代码"></div>

    2. 内嵌式 JS 代码

      + 再页面内书写一个 script 标签

      + 把 JS 代码书写再标签对内部

      + 注意: **不需要任何行为, 只要打开页面就会执行**

      + 特点:

        1. 再一个页面内可以书写无限个 script 标签

          => 会按照从上到下的顺序依次执行

        2. 理论上 script 标签可以放在页面的任何位置

          => 推荐放在 body 的末尾或者 head 的末尾

          => 目前推荐放在 body 的末尾

    3. 外链式 JS 代码

      + 把 JS 代码写在一个 .js 后缀的文件里面

      + 再页面上通过 script 标签的 src 属性引入页面

      + 注意: **不需要任何行为, 只要打开页面就会执行**

      + 特点:

        1. 和内嵌式一样

        2. 当一个 script 标签呗当作外链式使用的时候, 那么写在标签对里面的内容没有意义

          => 哪怕你写了 src 属性, 但是没有引入文件, 也不能当作内嵌式使用了

    接触第一个 JS 代码

      + alert('hello world')

      + 这是一段 JS 代码

      + 含义: 在浏览器弹出一个提示框, 里面右一段文本, 是 hello world

      + 注意: 写在小括号里面的需要用引号包裹, 如果是数字不需要

下面是范例 

<a href="javascript: alert('蔡虚坤')">点我看我名字</a>
<a href="javascript:console.log('Hello World');">aaa</a>
<div id="std">点我一下谢谢</div>
<div onclick="console.log('点我一下谢谢')">点我一下谢谢</div>
<script>
    var std = document.getElementById('std');
    console.log(std);
    std.onclick=function(){
      alert("傻逼")
    }
  
</script>

 JS注释

单行注释          /  

      也可以选择多行按ctrl + /

多行注释         /* 注释的内容 */

JS的输出语法

 

三个弹出层

      JS 的输出语法

        1. alert()

          => 以浏览器弹出层的形式展示内容

          => 小括号里面书写你要输出的内容

          => 只要不是纯数字, 都用引号包裹(单引号双引号无所谓)

        2. console.log()

          => 再浏览器控制台打印你要输出的内容

          => 小括号里面书写你要输出的内容

          => 只要不是纯数字, 都用引号包裹

        3. document.write()

          => 再页面直接写入你要输出的内容

          => 小括号里面书写你要输出的内容

          => 只要不是纯数字, 都用引号包裹

          => 特殊:

            -> 直接把内容输出再页面上

            -> 所以可以解析标签

<script>
    //1. alert 输出内容
     alert('hello world')
     alert(123456789)

     //2. console.log 输出内容
     console.log('hello world')
     console.log(1234567890)
     console.log('<h1>12312</h1>')


    // 3. document.write 输出内容
    // document.write('hello world')
    // document.write('</br>')
    document.write('<h1>')
    document.write(1234567890)
    document.write('</h1>')
    alert("再见了")
    console.log("再见了")
    document.write("再见了")
    alert('<h1>Hello World</h1>')
    console.log('<h1>Hello World</h1>')
    document.write('<h1>Hello World</h1>')
</script>

 JS变量

变量的命名规则和命名规范

        1. 规则: 你必须遵守, 不然报错

          1-1. 一个变量只能由 数字(0-9), 字母(a-zA-Z), 美元符($), 划线下(_) 组成

          1-2. 一个变量不能由 数字 开头

          1-3. 再 JS 中严格区分大小写

            => num Num NUm NUM 这是四个变量

          1-4. 不能使用关键字或者保留字

            => 关键字: 现在 JS 语法正在使用的关键字(var)

            => 保留字: 现在 JS 还没用, 但是将来可能会用的

        2. 规范: 建议你遵守, 因为大家都这样

          2-1. 不要用中文命名

          2-2. 变量语义化

            => 尽可能使用一个有意义的单词

          2-3. 驼峰命名法

            => 当一个变量由多个单词组成的时候

            => 第二个单词开始, 首字母大写

总结:写变量名使用英文释义写就ok了

JS数据类型

 JS 的数据类型

        + JS 把一个变量可以存储的各种各样的数据, 做了一个区分

        + 分成了两个大的类型

          1. 基本数据类型(简单数据类型)

            1-1. Number 数值

            1-2. String 字符串

            1-3. Boolean 布尔

            1-4. Undefined 空

            1-5. Null 空

          2. 复杂数据类型(地址数据类型 / 引用数据类型)在堆里面开辟的,使用的是变量表示该内容的的地址

            2-1. Object

            2-2. Function

数值数据类型     

 + 一切十进制表示的数字

        + 一切浮点数(小数)

        + 其他进制表示的数字

          => 十六进制, 以 0x 开头

          => 八进制, 以 0 开头

          => 二进制, 以 0b 开头

        + 科学计数法

          => 比较大的数字使用科学计数法表示

          => 2e5   2 * 10的5次方

        + NaN

          => Not a Number: 非数字

        

        

 JS 的基本数据类型 - 字符串

        + 再 JS 里面一切使用引号(双引号, 单引号, 反引号) 包裹的内容都是字符串

        + 表示一段文本内容, 是一个字符一个字符连接起来的内容

          => 'hello'

          => "hello"

          => `hello`

        + 当你再字符串里面只写数字的时候, 也不是数值类型

          => 也是字符串类型

        + 再字符串里面, 空格是占位的

 JS 的基本数据类型 - 布尔

        + 再 JS 里面, 布尔只有两个值

          => true 表示真, 再计算机存储的时候就是 1

          => false 表示假, 再计算机存储的时候就是 0

        + 再运算过程中有什么意义

          => 主要用来做判断

          => 例子:

            -> a > b 如果得到 true 表示这个表达式时 真的

            -> a < b 如果得到 false, 表示这个表达式是 假的

 JS 的基本数据类型 - 空

        1. Undefined 空

          -> undefined

          -> 这里本该有一个值, 但是没有, 就是 undefined

        2. Null 空

          -> null

          -> 这里有一个值, 有一个空值

    */

   /* 自我总结:undefined是啥也没有,根本没定义

              null是定义了,他的值就是啥也没有 */

 检测数据类型

        + 再运算的过程中, 有的数据不是我们自己写的

        + 有可能是通过运算得到的, 有可能是别人给的

        + 为了保证程序的正确运行, 我们需要检测数据变量

      关键字 typeof

        + 两种用法

          1. typeof 变量

            => 语法: typeof 要检测的变量

            => 返回值(结果): 以字符串的形式给你的变量数据类型

          2. typeof(变量)

            => 语法: typeof(要检测的变量)

            => 返回值: 以字符串的形式给你变量的数据类型

        + 两种语法的区别

          1. typeof 只能检测紧跟着的一个变量

          2. typeof() 先运算小括号里面的结果, 然后使用 typeof 去检测结果的数据类型

        + typeof 的返回值

          => 注意: typeof 的返回值是一个字符串

          => 当两个及以上 typeof 连用的时候, 一定得到 string

          => 只能准确的检测基本数据类型

            -> 数值: number

            -> 字符串: string

            -> 布尔: boolean

            -> undefined: undefined

            -> null: object

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值