1.js基础

一.什么是JavaScript?
 1.与页面进行交互的脚本语言,具有较强的逻辑性.
二.JavaScript语言的特点
1.脚本语言。JavaScript是一种解释型的脚本语言
2.基于对象
3.简单
4.动态性
5.跨平台性
三.JavaScript的组成部分
1.  核心(ECMAscript:欧洲计算机制造商系会) (语法规范:ECMA-262标准)
2.  BOM 浏览器对象模型(browser object model)
3.  DOM 文档对象模型(document object model)
四.
五.声明变量
// 1.使用var关键字(variable:可变的量)
    var uname; // undefined 
    uname="周杰伦"; //赋值
    
// 2.声明变量即赋值(推荐)
     var unam="周杰伦";
     
// 3.声明多个变量
     var unam="周杰伦",age=20;
注意: 我们在定义变量的时候, 尽可能的不要只声明,不赋值, 而是声明的同时初始化一个值
六.数据类型

1.基本的数据类有6种

string 字符串类(单引号或双引号都是字符串)、
number 数值 类型(包含整型,浮点型)、
boolean 布尔类型(true/false)、
null (顶级)  Object、 
undefined 未定义类型、 
object  对象类型 (array,function ....)

null派生了undefined

//分2种类型
1. 值类型 string,number,boolean,undefined

2. 引用类型 object ,array,function

2.查看基本的数据类型的方式

    typeof uname
    typeof(uname)
七 关键字 : 已经被JS内部使用了的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZEYxqxBd-1591777365317)(https://note.youdao.com/yws/res/53/F7C09A1F293C4734B2999A949EB37CAE)]

八 保留字: 虽然暂时还未被使用, 但将来可能会被JS内部使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lAp3TgFs-1591777365321)(https://note.youdao.com/yws/res/52/57145C3F15C9406483A143615D8CEF39)]

变量的命名规范
只能是数字,字母,$,下划线_,但是不能以数值开头,不能使用关键字或保留字.
驼峰命名法.
1.大驼峰
    var YourName=new Person();//用于表示对象
2.小驼峰
    var yourName="周杰伦";//表示普通的变量
Boolean 类型的转换规则: (牢记)
String: 非空字符串为true, 空字符串为false
Number: 非0数值为true, 0或者NaN为false
Object: 对象不为null则为true, null为false
Undefined : undefined为false

Number类型:
  Number 类型包含两种数值:整型和浮点型.
  NaN, 即非数值(Not a Number)是一个特殊的值

ECMAScript 提供了 isNaN()函数,用来判断是不是 NaN。isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值

2.2类型的自动转换

 var sAge="18";
sAge-0;// 自动把字符串类型的"18"转变成 数值类型的18

2.3 强制转的方法

  1. Number(),String(),Boolean(),

字符串转换数字类型:

 parseInt()    是把其它类型转换为整型
 parseFloat()  是把其它类型转换为浮点型(小数)
JS运算符的使用

1.算术运算符 : +,-, *, /, %(取余数 mod)

2.字符串和变量的拼接: +

3.关系运算符 :

<, >, <=, >=, ==,===, != ,  !==

4.逻辑运算符 : && 与(且)、|| 或、! 非

     // && 只要找到一个假的, 就不往后面找
     // || 只要找到一个真,就不往后面找
     // 又称之为 短路运算符,&&优先.
     var str= 2||true&&false ;
      console.log(str)  // ?

5.赋值运算符 : =、+=、-=、*=、/=、%=

6.自增、自减 : ++a, a++, --a, a–

     // 先自增,再乘法 最后 +
     var a=10;
     var sum=  ++a + a++ *2
特殊的面试题.
[]==[];   //false 2个[]不同对象的地址
[]!=[];   //true  2个[]不同对象的地址的值取反
[]==![];  //true  '!' 优先,'![]'的值是false,接下来就是[]==false,比较
         // 由于右边不是对象,是值类型(boolean),所以左边的[]要转数值类型(Number([]))
[]==false;// []要转数值类型(Number([])) 先转数值0,再与右边比较.

先解析[] == false为什么是true?

他是经历了这个过程最终才为true的。
([] == false)   ---->  ([] === +0)   ---->  (“”== +0)  ---->  (+0 == +0)  --->   true

// Boolean([]),是true,因为 [] 是object.

关于0.1+0.2=0.30000000000000004

我们知道,计算机中存储的都是二进制的0和1,而我们现实中的数存入计算机中转换为二进制时有可能不能整除,也就是不能正好整除,所以用二进制表示现实中的数并计算就产生了误差。

0.1+0.2!=0.3 参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值