JS基础知识

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<script>
// 变量声明提升
    // 变量声明的提升:你可以提前使用一个稍后才声明的变量,而不会引发异常
    // 在执行所有代码前,JS有预解析阶段,会预读所有变量的定义
    // console.log(a); //先使用变量 undfiend
    // var a= 12;//后定义变量
    // 变量声明提升只提升定义,不提升值
    //注意:变量声明的提升是JavaScript的特性,所以经常出面试题
    //注意:在实际开发时,不要刻意使用变量声明提升特性。一定要先定义并给变量赋初值,然后再使用变量
// 5种基本数据类型的typeof检测结果
    // 类型名      typeof检测结果      值举例
    // 数字类型           number           5
    // 字符串类型         string           '慕课网'
    // 布尔类型           boolean           true
    // undefined类型    undefined           undefined
    // null类型           object             null
// Number(数字)类型
    //所有数字不分大小、不分整浮、不分正负,都是数字类型
// 特殊的数字型值NaN
     // typeof NaN;
     // number
     // 0除以0的结果是NaN,事实上,在数学运算中,若结果不能得到数字,其结果往往都是NaN
     // NaN有一个“奇怪”的性质:不自等。
// String(字符串)类型
    // 字符串要用引号包裹,双引号或者单引号均可
// 字符串的拼接
    // 加号可以用来拼接多个字符串
// 字符串的length属性
    // 字符串的length 属性表示字符串的长度 打点就可以测试属性和显示返回多少长度.
// 字符串的常用方法
   // “方法”就是能够打点调用的函数,字符串有丰富的方法
   // 方法     功能
    //  charAt()     得到指定位置字符
    //  substring()     提取子串
    //  substr()     提取子串
    //  slice()     提取子串
    //  toUpperCase()     将字符串变为大写
    //  toLowerCase()     将字符串变为小写
    //  indexOf()     检索字符串   
    // charAt()方法可以得到指定位置的字符
    // substring(a, b)方法得到从a开始到b结束(不包括b处)的子串
    //substr (a, b)中,将得到从a开始的长度为b的子串
    // substr (a, b)中,a可以是负数,表示倒数位置
    // slice(a, b)方法得到从a开始到b结束(不包括b处)的子串
    //slice(a, b)的参数a可以是负数
    //slice(a, b)中,参数a必须小于参数b
    // substring (a, b)和slice(a, b)功能基本一致,都是得到从a开始到b结束(不包括b)的子串,区别:
    // substring()可以自动交换两个参数位置,而slice()不行;②slice()的参数a可以是负数,而substring(不行)
    // substr(a, b)中参数b是子串长度,而不是位置编号
    //toUpperCase()和toLowerCase()
    // toUpperCase()转为大写
    // toLowerCase()转为小写
    // indexOf()
    // indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置
    // 如果要检索的字符串值没有出现,则该返回-1
    //布尔类型 ture 和false
// undefined是什么
     // 一个没有被赋值的变量的默认值是undefined,而undefined的类型也是undefined
     // 即: undefined又是值,又是一种类型,这种类型只有它自己一个值
    //  在变量声明提升时,变量的值也是undefined。
    //  console.log(a);undefined
    //  console.log(typeof a); l/undefinedvar a =,10;
    // null表示“空”,它是“空对象”
    // 当我们需要将对象销毁、数组销毁或者删除事件监听时,通常准它们设置为null。
// 用typeof检测null结果是object
    // 使用typeof检测null值,结果是object,这点尤其要注意
    // typeof null;// object
    // 类型和typeof检测结果并不总是一—对应,比如数组用typeof检测结果也是object
// 其他值→数字  使用Number()函数
     // 字符串→数字
     // 纯数字字符串能变为数字,不是纯数字的字符串将转为NaN
     // 布尔值→数字
     // true变为1, false变为0
     // undefined和null→数字undefined变为NaN
     // null变为0
// 使用parselnt()函数
    // parselnt()函数的功能是将字符串转为整数
    // parselnt()将自动截掉第一个非数字字符之后的所有字符
    // 所有文字都将被截掉
    // 如果字符串不是以数字开头,则转为NaN
    //parselnt()函数不四舍五入
// 使用parseFloat()函数
     // parseFloat()函数的功能是将字符串转为浮点数
    //  parseFloat()可以将小数字符串转为数字小数
    //  parseFloat()将自动截掉第一个非数字字符、非小数点之后的所有字符
    //  如果字符串并不是以数字开头,则转为NaN
    //  不四舍五入
//数字转字符串
    // 使用String()函数
    // 数字→字符串
    // 变为“长得相同”的字符串。科学计数法和非10进制数字会
    // 转为10进制的值。
// 布尔值→字符串
    // 变为“长得相同”的字符串
    // undefined和null→字符串变为“长得相同”的字符串
// 使用toString()方法
    // 几乎所有值都有toString()方法,功能是将值转为字符串
// 使用Boolean ()函数
        // 数字→布尔值
        // 0和NaN转为false,其他数字
        // 都转为true
        // 布尔值→布尔值
        // 空字符串变为false,其他都转
        // 为true
        // undefined和null→布尔值
        // 转为false
// 隐式类型转换
    // 如果参与数学运算的某操作数不是数字型,那么JavaScript会自动将此操作数转换为数字型
    // 3 *'4' //12 隐式转换的本质是内部调用Number()函数
    // true + true //2
    // false + 2 // 2
    // 3* '2天'  //NaN
// 判断是否相等
    // JavaScript中等号=表示赋值,而并不是相等。判断相等应该使用==运算符
    // 两个等号==运算符不比较值的类型,它会进行隐式转换后比较值是否相等
    // 三个等号===运算符,不仅比较值是否相同,也比较类型是否相同
    // 1、null和undefined用==进行比较涉及隐式强制类型转换,ES5规范中规定:
    // ①如果x为nully为undefined,则结果为true
    // ②如果x为undefined,y为null,则结果为true
    // 2、null和undefined用===比较时结果为false是因为类型不同:
    // ①typeof null—>object
    // ②typeof undefined—>undefined
// NaN不自等
    //NaN作为一个特殊的数字类型值,它在用==比较的时候也有特殊的结果
// 如何判断某变量值为NaN
    // isNaN()函数可以用来判断变量值是否为NaN
    // isNaN(NaN)
    // true
    // isNaN(5)
    // false
    // 但isNaN()也不好用,它的机理是:只要该变量传入
    // Number()的执行结果是NaN,则isNaN()函数都会得到true
    //JS中没有连比
//与运算
   //&&表示“并且”,称为“与运算”,口诀:都真才真
   // ||表示“或者”,称为“或运算”,口诀:有真就真
  // a && b运算中:a真,表达式值为a;a假,表达式值为b
  // 逻辑运算顺序
  // 逻辑运算的优先级是:非→与→或
  //综合运算的运算顺序
  // 运算顺序:非运算→数学运算→关系运算→逻辑运算
//三元运算符
  // JavaScript中提供了一种叫做“三元运算”的语法形式,让我们可以方便地实现选择
  // 条件表达式﹖表达式1:表达式2
 </script>
 </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值