java-语言编程

js的语法规则

1、分号是语句结束的标志,分号不是必须的,我们不建议这样做,严格来说,语句要加上分号。

2、 js会忽略多个空格和换行。

3、字符集

**utf-8:**统一国际编码,兼容各个国家的语言

gb2312/gbk:简体中文编码

big5:繁体中文编码

4、变量区分大小写

5、注释

回顾一下html注释:

回顾一下css的注释:

/*内容*/

js的注释语句

单行注释://内容

多行注释:/*内容*/

问:为什么要加注释?

答:为了方便别人也是为了方便自己。

Javascript名词解释

**在编程语言中,一般固定值称为字面量,如 3.14。**给变量赋值时,等号右边都可以认为是字面量。英语叫做literals,有些书上叫做直接量。

数字字面量

25,98.23
var num = 92;

字符串字面量

‘123’,“Hello”

[12,2,3]

常量

什么是常量?

常量:就是其值不能改变的。

怎样定义一个常量?

const HOST = “localhost”;

const也是块级作用域

const声明的常量必须初识化,而let声明的变量不用

const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,const只能保证这个指针是固定的(即总是指向另一个固定的地址),至于它指向的数据结构是不是可变的,就完全不能控制了

Javascript变量命名规则(重点)

声明变量

变量是干什么的,是存储数据的,那存储什么种类数据呢?

声明变量使用关键字:var(variable)

你给它赋什么类型的值,那么这个变量就是什么数据类型。

内存中堆区和栈区

单独声明

多个变量声明,中间用逗号隔开

重复声明

遗漏声明

显式声明与隐式声明区别

JS中变量声明分显式声明和隐式声明。

var name = 'muzidigbig';//显式声明

name = 'muzidigbig';//隐式声明(为全局对象(window)的一个属性)

JavaScript 严格模式(use strict)

变量提升

变量一定要先声明后使用,如果先使用后声明,js的内部机制自然使变量提升。

let 和var 的区别

var: variable,它是可变的。

let: 块作用域。

变量名的命名规则

变量的命名:变量是由字母、数字、下划线、$ 组成,但第一个字符必须是字母或者是下划线、$开头。

$不建议使用,它可能会和其他的框架语法冲突,或者是函数的名字冲突

1、JavaScript语言的标识符对大小写敏感,所以a和A是两个不同的标识符。

2、首字母可以是任意字母以及美元符号和下划线。剩余可以是任意字母,美元符号,下划线和数字

3、不能使用javascript中的关键字(保留字)来命名变量

4、中文也可以声明变量,不建议使用它。

!

变量的命名方式

第一种命名:帕斯卡命名(大驼峰式命名

每个单词的首字符大写

例如:UserName。

第二种命名小驼峰式命名

首个单词的首字母小写其他后面单词的首字母大写

例如:

例如:userName

第三种命名匈牙利式命名

数据类型+单词(变量名)

Integer+age

var Iage = 25;

String+address

var Saddress = “西安”;

Javascript数据类型(重点)

数据类型分类:

!

在此基本的数据类型的基础上又增加了一个基本数据类型:Symbol,Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

打印变量的数据类型:typeof

请注意:

NaN 的数据类型是 number

数组(Array)的数据类型是 object

日期(Date)的数据类型为 object

null 的数据类型是 object

未定义变量的数据类型为 undefined

基本数据类型

数字类型(number)

c 语言中:

int(整数),float(单精度浮点型),double(双精度浮点型),char(字符)

string(字符串)。

二进制(binary):0b101010101

八进制:0o2535

十六进制:0x69852

进制转换:

toString():十进制转换其他的进制

parseInt():其他的进制转换十进制

!

最大值:MAX_VALUE

最小值:MIN_VALUE

浮点数不能比较

NaN:Not a Number:不是一个数值

一些特殊情况(除数为0,最大值变化)

布尔类型(boolean)

true(真),false(假),都是小写的。

TRUE,FALSE,True,False:这些都不正确。

字符串类型(string)

字符串:加单引号或者是双引号

字符串连接:使用的是+

模板字符串:

undefined

typeof undefined

null

typeof null

null == undefined

null和undefined的区别

1、类型不相等

2、强制类型转换值不一样

var re1 = Number(undefined);//NaN
var re2 = Number(null);//0

3、比较

null == undefined;//true
null === undefined;//false

引用类型(object)

Javascript运算符(重点)

算术运算符

+,-,*,/,%(求余数),++,–,**(求幂数-es7新增)

实例练习:

一元运算符

+(正),-(负数),++,–

两数交换

比较(关系)运算符

>,<,>=,<=,!=,!(不全等),,===(全等:值和类型都相等)

逻辑运算符

1、&&:逻辑与,所有运算操作数都为真,运算结果才为真

true && true;//true
false && true;//false
true && false;//false
false && false;//false

总结说明:

如果前面的表达式是true,就取后面的值,如果前面的表达式为false,就取前面的值。

2、||:逻辑或,只要运算操作数其中一个为真结果就为真。

true || true;//true
false || true;//true
true || false;//true
false || false;//false

总结说明:

如果前面的表达式是true,就取前面的值,如果前面的表达式为false,就取后面的值。

3、!:逻辑非,取反运算

例题:

console.log(10 && 'js');//js   
console.log(0 && 'abc');//0 
console.log(10 || 'js');//10   
console.log(0 || 'abc');//abc  

怎样输出:true和false

console.log(Boolean(0) && Boolean('abc'));

短路问题:输出结果是?

赋值运算符

=,+=,-=,*=,/=,%=

=:赋值

==:比较(等于)

===:比较(全等)

条件运算符(三目运算符)

表达式1?表达式2:表达式3

如果表达式1为真(true),计算表达式2的值,如果为假(false),计算表达式3的值。

等性运算符

Null==undefined;//true
Null===undefined;//false
true == 1;
false ==0;
NaN == NaN;//false
NaN !== NaN;//true

运算符的优先级

隐式类型转换

强制类型转换

Number():转化成数值

只有纯数字的才能转换得到真实数字。

布尔类型转换为Number:true 转换为1、false转换为0。

未定义类型转换为Number:underfind 转换为NaN

空类型转换为Number:null 转换为0

String():转化成字符串

Boolean():转化成布尔

总结说明:

1. NaN ,0 ,"", ‘’ ,underfind, null 转换为:false。

2. 正数,负数都是:true

3. 只要不是空字符串都是:true

parseInt():将字符串转化为整数

parseFloat():将字符串转化为浮点数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值