Day 01 javascript入门

JavaScript概述

  1. JavaScript是一个解释型语言,一个脚本语言(具有侵入性,攻击性)一个弱语言(没有强制的类型)。

  1. JavaScript由BOM(browser object model浏览器对象模型),DOM(docunment object modle文档类型),ECMAScript(基础语法)。ECMAScript主要版本有ES3(所有浏览器都支持), ES5(大部分浏览器支持) ,SE6(部分浏览器支持)。

JavaScript的相关书写

  1. 内嵌写法

<a href="javaScript:void">点击</a>

  1. 内联写法

<script></script>

  1. 外联写法

<script src="./index.js"></script>

JavaScript的变量

变量就是一个存储单位,他会根据你赋的值在内存中开启空间(根据赋值得到对应的类型)

变量声明

采用var关键词来进行声明 (var关键词声明的是伪全局变量)

var 变量名 = 变量值

变量命名的相关规范

  1. 不能是关键词和保留字

  1. 不能以数字开头

  1. 只能由数字,字母,下滑线,$构成

  1. 使用驼峰命名法 (首字母小写其他的首字母大写)

  1. 语义化命名 (见名知意)

JavaScript的数据类型 (根据赋值来决定类型)

基础值类型(存储在栈上)

1.数值类型(所有的数字都是数值类型)number

var number = 10

2.字符串类型 (使用单引号或双引号括起来的都是字符串类型)string

var str = 'hello world'

var str1 = "hello world"

3.布尔类型 (true 或者 false) boolean

var bool = true

4.null类型 (取值为null 空类型)

var obj = null

5.undefined类型 (未定义 他是null派生子类)

var un

引用数据类型 (存储在堆上)

object 、function 、date ....

javascript中的注释

//单行注释

/* */多行注释

类型转换

基础值类型转换引用数据类型 (装箱)

String

Number

Boolean

引用数据类型转为基础值类型 (拆箱)

toString 转为字符串

//obj对象转为字符串 对象中有东西 属性(方法)

1.console.log(typeof obj.toString());//转为字符串

console.log(typeof String(obj));//转为字符串

//obj对象转为对应的数值

console.log(typeof Number(obj));

//obj对象转为对应的布尔类型

console.log(typeof Boolean(obj));

console.log(Boolean(obj));

基础值类型之间的转换

转为字符串(String 及 toString方法)

数值转字符串

// 数值转换字符串

var number1 = 10

var str1 = String(number1)

console.log(typeof str1);

布尔类型转为字符串

//boolean类型转为字符串

var bool = true

var str2 = String(bool)

console.log(typeof str2);

null及undefined转为字符串

//null转为字符串

var nullObj = null

var str3 = String(nullObj)

console.log(typeof str3);

//undefined转为字符串

var un

var str4 = String(un)

console.log(typeof str4);

toString转换

//利用toString来转换

console.log(typeof number1.toString());

console.log(typeof bool.toString());

//null和undefined没有toString方法

转为数值类型 (Number 及 parseInt 和 parseFloat)

字符串转为数值 无法转换为NaN NaN是数值类型 Not a Number

任意类型转为数值的时候 无法进行转换就会出现NaN

boolean类型转为数值 true为1 false为0

null转为数值 值为0

undefined转为数值 值为NaN

parseInt 转整型 (切割前面的内容) parseFloat(保留小数) 转浮点型

转为boolean类型 (Boolean在条件表达式下自动转为布尔类型)

数值转为boolean类型 非0及NaN都是true

字符串转为boolean类型 非空字符就是true

null和undefined转为boolean类型 都是false

console.log(Boolean(null))

console.log(Boolean(undefined))

Number

NaN 无法被转换为数值的时候出现的

infinity 无穷大

+Infinity //无穷大

-Infinity //无穷小

运算符及其表达式

算术运算符

+ - * / % ++ --

+运算

如果有一个字符串类型的值 那么得到的就是字符串 字符串将会拼接

除此之外所有都是会转为对应的数值然后进行运算 默认的转换用到的是number方法

% 取余 取模

大数取小数 取余

小数取大数 为本身

NaN进行任何数值运算得到的数值都是NaN

++自增

var a = 1

a++ = a=a+1

console.log(a)//2

--自减

var b = 2

b-- b= b-1

console.log(b)//1

++ --前置和后置的区别

前置先执行 先++ --再执行其他的代码

后置后执行 先走了对应的其他代码以后再执行++ --操作

逻辑运算符

&& || !

&& 与

俩个都是true 则返回true(最后一个true) 有一个是false就返回false (第一个false)

|| 或

有个true直接取第一个true 如果都是false取最后一个false

! 非

取反操作 将对应的真的变假的 假的变真的 返回的结果是一个boolean类型

条件运算符

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

返回的是一个boolean类型的值 (true或者false)

> < = >= <=

不同类型的比较

字符串和对应的数值比较 比较的过程会进行数值类型的转换

undefined会转换NaN

NaN 出现NaN结果就是false

== 判断俩个值是否相等 进行转换操作

字符串的数值和普通数值进行比较返回true

=== 恒等 全等俩个类型以及值完全相等

undefined==null为true undefined===null 为false

字符串和字符串相比较那么对应的比较的ascii码(先比首字母 大写字母比小写字母要小 排在前面

比后面的要小)

在对应的非数值的比较上会自动转为数进行比较

NaN==NaN为false 在正常比较中没有取反符号的情况下出现NaN就是false

恒等是基于==之上的 ==为false对应的恒等必定为false(==只比较值 ===要比类型)

赋值运算符

= += -= *= /= %=

var c =20

c+=10 //a=a+10 30

c*=10 //a=a*10 300

c/=10 //a=a/10 30

c-=10 //a=a-10 20

c%=2 //a=a%2 0

console.log(c); // 0

位移运算符

<< >>

位移运算是将对应的数值转为二进制进行移位运算

(将一个数值转为二进制使用除二取余法)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值