JS基础-day01

1.javascript是什么?

1.javascript简称js
2.与html、css并称为网页三剑客
    - 静态页面(网页合成工程师)
        - html    结构
        - css     样式
    - 动态页面(前端工程师 web前端) 
        - javascript   行为(交互)

2.javascript诞生

1、web的发展阶段:
    1. web1.0  可读
    2. web2.0
    3. web3.0
    - 网景(netscape)有一款浏览器叫做navigator(领航者)想要网页有一些可交互的效果
    - 请了javacript祖师爷`布兰登.艾奇`10天发明了livescript
    - 借助java热度去推广livescript  更名为javascript
    - 微软公司推出IE 自己参考javascript功能推出了JScript
    - 网景把javascript托管给了ECMA(欧洲计算机制造商协会) 由ECMA制定了一个标准 这个标准有一个名称叫做`ECMAScript` 简称es
    - ECMAscript是将javascript和jscript标准语法统一之后的一个产物
    - es5.0版本(现在已有es6.0)
2、javascript的构成部分
    - ECMAscript标准语法
    - DOM
    - BOM
     思考一下java和javascript什么关系?

3.javascript的三种写法

  • 与css的书写方式相同
行内式:
<div class="box"  onclick="javascript: alert('hangnei')">
        这是行内样式的js
</div>
内部:
    <script>
        var name = '111';
        alert(name)
    </script>
外部:
<script src="./name.js"></script>

4. 注释

// 这是单行注释
/* 
    这是多行注释
    vscode中快捷键为:alt+shift+a
*/
- 为什么写注释?
    1. 方便代码的阅读
    2. 方便代码的维护

5.变量

/* 
    变量的概念:顾名思义,变量的值可以改变。在计算机内存中开辟一份空间并且命名,这个空间可以存储数据。我们可以根据变量的名称来寻找到存储的数据
*/
        // 定义(声明)变量
        var name
        // 定义(声明)多个变量
        var name , age , sex 
        // 定义(声明)变量并且赋值
        var name = 'jack'
        // 定义(声明)多个变量并且赋值
        var name='tom' , age=18 , sex = 'man'
        

注意事项
1. 只定义(声明)变量 不给这个变量赋值 使用这个变量不会报错 值是undefined
2. 直接使用一个未定义的变量 这时候会报错 报错信息变量名 is not defined
3. 变量名命名规则和规范
规则:必须要遵循 因为这个是由ecmascript定义的 不遵循就会报错。

  1. 变量名必须是英文a-z A-Z、数字0-9、下划线_、美刀$组成,不能以数字开头(组成部分)
  2. 严格区分大小写(大小写)
  3. 不能是关键字和保留字(保留字和关键字)
    - 关键字: js正在使用的单词 var
    - 保留字: js未来可能会使用到的
  4. 不能是中文 中间不能有空格

6.数据类型

类型
基础类型String、Number、Boolean、undefined、null
复杂类型Object、Array、Data 等
字符串类型(string):''"" 包裹的内容都位字符串类型。
数值类型(Number): 纯数字、 负数 、浮点数均为数值类型,特别注意NaN也是数值类型
布尔类型(Boolean):只有两种值、truefalse
undefined类型:只有一种值、undefined, 若变量只进行了声明,会默认为该类型
null:只有一种值、null

tips: 数值分为二进制、八进制、十进制、十六进制数等,这里不进行详细赘述。

7.js中简单的几个方法

    // 1.console.log(数据)  在控制台里面打印一行日志 用于调试
		
		console.log('我是输出在控制台的测试语句!')
    /* 
   	 	2.typeof: 用于检测当前数据是什么类型, 返回值为数据类型
	       typeof 数据
	       typeof(数据)
    */
		var data0 = 'a'
        var data1 = 18
        var data2 = 'aiuhsuaguig'
        var data3 = undefined
        var data4
        var data5 = null
        console.log('data0: ',typeof(data0) ,' data1:',typeof(data1))
        console.log('data2: ',typeof(data2) ,' data3:',typeof(data3))
        console.log('data4: ',typeof(data4) ,' data5:',typeof(data5))
	
 	 //3.prompt方法:弹出一个输入框用于接收键盘输入的数据,默认为字符串类型
 	 //4.alert方法:弹出一个信息框
 	  var num = parseInt(prompt('请输入一个数字:'))
      console.log(num)
      alert(num)
 	 

8.数据类型转换

概念: 把一种数据类型转换成另一种类型

类型说明
自动类型转换(隐式类型转)js自动进行类型转换
强制类型转换(手动转换)使用js方法将数据类型进行转换

以下为强制类型转换:

	// 其他类型转数值类型
	/*
   Number方法 Number(数据) 
         - 将传入的内容整体转换
   parseInt方法 parseInt(数据) 
         - 从第一个字符开始检测,是(数字、负号)保留,遇到非数字停止返回保留内容
   parseFloat方法 parseFloat(数据)
        - 从第一个字符开始检测,是(数字、负号、小数点)保留,遇到非数字停止返回保留内容

	*/
        var data01 = true
        var data02 = false
        console.log(Number(data01)) // 1
        console.log(Number(data02)) // 0

        var data03 = 'true'
        var data04 = 'false'
        console.log(Number(data03)) // NaN
        console.log(Number(data04)) // NaN
        var data05 = '10.11'
        var data06 = '-1.00'
        console.log(Number(data05)) //10.11
        console.log(parseFloat(data05))//10.11
        console.log(Number(data06)) //-1
        var data07 = 'hello12ll'
        console.log(Number(data07)) //NaN
        console.log(parseInt(data02))//NaN

        var data08 = undefined
        console.log(Number(data08)) // NaN
        var data10 = null
        console.log(Number(data10)) // 0
        var data11 = '121hello'
        console.log(parseInt(data11)) // 121
        
  • 总结
    • 其他类型转数值(重点掌握)

      • 布尔值、undefined、null转数值: 用Number方法
      • 字符串转数值有以下情况:
        • 纯数字: 用Number方法
        • 非纯数字字符串截取前面的数字部分
          • 保留小数 :用parseFloat
          • 不保留小数:用 parseInt
    • 其他类型转字符串

      • String()方法: String(数据)
        • 任何类型均可以转换
      • toString()方法
        • undefined / null 无法使用toString()方法。
        • 可以将数值转换为其他进制数的字符串 数值.toString(进制数[2/8/16])。
    • 其他类型转布尔

      • Boolean()方法 Boolean(数据)
        • 只有 ‘’、0、null、undefined、NaN,这些是 false,其余都是 true
    • 其他类型转undefined,其他类型转null

      • 直接赋值

9. NaN扩展

- 代表数值类型的非数字
- 含义: not a number 不是一个数字
- NaN是数值类型 用于表示这个数据不是一个数字
- 产生
    + 类型转换的过程中 有些数据可以转换成数字的方式显示  有一些数据无法以数字来显示的 用NaN来表示
- 注意事项
    1. NaN和任何数做任何比较结果都是false
    2. NaN和任何数做任何运算结果都是NaN
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值