js基础第一天

一、js介绍

  • JavaScript是什么?
    是一种通常运行在浏览器中(运行环境)的编程语言;
    可以用来实现人机交互效果,提供逻辑思维能力。
  • JavaScript的组成
    ECMAScript规范:语法书写;
    Web APIs(可操作的实体对象):DOM BOM
    DOM(document object model):浏览器帮我们实体化为一个对象document;
    BOM(browser object model):浏览器帮我实体化为了一个对象window;
  • js三种书写位置
    1.内部
    2.外部
    3.外联
    注意事项:书写的位置尽量写到文档末尾 </body> 前面;
    外部 js 标签中间不要写代码,否则会被忽略
  • js 注释
    单行注释:快捷键ctrl+/ //
    多行注释:/* 注释内容 */
  • js结束符
    英文状态下的;号(可写可不写,不写需要换行,推荐写)
  • js的输入与输出
    输出方式:1.alert(要弹出的内容)
    2.document.write("要输出的内容")
    3.console控制台.log日志方法("要输出的内容")
    输入方式:
    prompt提示("提示文字")

二、变量

变量:计算机中用来存储数据的“容器”,简单理解是一个个的盒子。
变量的作用:用于存放数据。注意变量指的是容器,不是数据。

  • 变量的使用:
        // 1.变量的创建
        // 语法:let关键字 变量名
        let age
        //2.变量的赋值
        // 语法:变量名=数据
        age = 18
        console.log(age);
        // 3.变量值的修改
        // 语法:变量名=数据
        age = 19
        console.log(age)

        // 连写:声明变量的同时,进行赋值
        let age1 = 20
        console.log(age1)


        // 声明多个变量
        // 语法:使用英文逗号,分割
        let age2 = 21, name = "刘德华"
        console.log(age2, name)

注意: let 不允许多次声明同一个变量。
字面量: 字面上的一个数量;所见即所得,的一个常量

  • 变量的本质
    内存:计算机中存储数据的地方,相当于一个大空间
    变量:是程序在内存中申请的一块用来存放数据的小空间【内存中的一个地址空间】

  • 变量命名规则与规范

规则(必须遵守,不遵守会报错):
1.不能用关键字
关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等
2.只能用下划线、字母、数字、$组成,且数字不能开头
3.字母严格区分大小写,如 Age 和 age 是不同的变量

规范(建议,不遵守不会报错,但不符合业内通识):
1.起名要有意义
2.遵守小驼峰命名法(第一个单词首字母小写,后面每个单词首字母大写。例:userName)

三、数据类型

JS 数据类型整体分为两大类:基本数据类型:number 数字型、string 字符串型、boolean 布尔型、undefined 未定义型、null 空类型等;
引用数据类型:object 对象、function 函数、array 数组等

  • 基本数据类型

1.数字类型number:

console.log("正整数", +123)
console.log("负整数", -123)
console.log("小数", 1.23)

2.string字符串(用单引号、双引号或者反引号包裹的内容):

        // ''单引号
        // ""双引号
        // ``反引号
        console.log('123')
        console.log("321")
        console.log(`德华`)

模板字符串——用于拼接字符串和变量
用反引号``包裹,内容拼接变量时,用 ${} 包住变量

<script>
        //用户输入姓名和年龄;
        let name = prompt('请输入您的姓名');
        let age = prompt('请输入您的年龄');
        
        //用反引号拼接``
        console.log(`您好,我叫${name},今年${age}岁`)
    </script>

3.布尔类型(boolean)
表示肯定或否定时在计算机中对应的是布尔类型数据。
它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

4.未定义类型(undefined)
未定义是比较特殊的类型,只有一个值 undefined。
只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined。
工作中的使用场景:
我们开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来。

5.null(空类型)
null 表示 值为 空
null 和 undefined 区别:undefined 表示没有赋值;null 表示赋值了,但是内容为空
null 开发中的使用场景:
官方解释:把 null 作为尚未创建的对象
大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null

  • 检测数据类型

1.控制台输出语句:控制台语句经常用于测试结果来使用;数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色

2.通过 typeof 关键字检测数据类型


image.png

四、类型转换

JavaScript是弱数据类型: JavaScript也不知道变量到底属于那种数据类型,只有赋值了才清楚。
坑: 使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。
通俗来说,就是把一种数据类型的变量转换成我们需要的数据类型。

  • 隐式转换
    隐式转化:系统内部自动的进行类型转化
        // 1.加号(+)左右,只要有一个字符串,就把另外一个值转化为字符串
        console.log("11" + 12);//1112
        console.log(13 + '11');//1311

        // 2.除了+号之外的算数运算符:会把数据转化为数字
        console.log(13 * '11');//143
        console.log(13 - '11');//2

        // 3.+号可以作为正号解析
        console.log(typeof + '11');//number
        console.log(11 + +'11');//22
  • 显式转换——自己写代码告诉系统该转成什么类型
    编写程序时过度依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。
    为了避免因隐式转换带来的问题,通常需要对数据进行显示转换。

1.转换为数字型

        // 1.Number(数据)
        console.log(Number("123"))//123
        // 1.1当数据不能转化为数字的时候,会返回NaN
        console.log(Number("a3e"))//NaN
        // 1.2 NaN是一个数字类型
        console.log(typeof Number("a3e"))//number

        // 2.parseInt(数据)
        // 作用:解析为 整数
        console.log(parseInt("1.23"))//1
        console.log(parseInt("-1.23"))//-1

        //3. parseFloat(数据)
        // 作用:可以保留小鼠,小数最后的是0会省略
        console.log(parseFloat("1.27"))//1.27
        console.log(parseFloat("1"))//1
        console.log(parseFloat("1.10"))//1.1

ps: parseInt() parseFloat() 【parse解析的意思: 只要传入的数据是以数字开头的,就能解析成功,返回值为第一个数字直到碰到非数值为止; 比如 parseInt("123aa") ;返回 123】

2.字符串转换

        // 1.String(数据)
        console.log(String("123"))
        console.log(String(123))
        console.log(String(true))
        console.log(String(undefined))
        console.log(String(null))

        // 2.变量.toString(进制);进制不写,默认为十进制
        // 需要一个变量
        // 数字.toString()会报错
        // 123.toString();报错
        let a = 123;
        console.log(a.toString())
        console.log(typeof a.toString())
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容