JavaScript基础语法(持续学习补充)

一. 输出语句

1.1 console.log(“内容”) //在控制台打印输出内容
1.2 alert(“内容”) //弹窗显示内容
1.3 document.write(“内容”) //在页面书写内容
1.4 confirm(“内容”) //弹出对话框,点击确定返回true或者取消返回false
1.5 prompt(“输入:”) //输入内容被返回 不输入返回null


二.变量

2.1 命名规则
驼峰命名规则:getElement
2.2遵从规则:
1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格,首个字不能为数字。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言)
6.汉语可以作为变量名。但是不建议使用!!!(low)
2.3 变量使用
不必单独声明每个变量,可以用一条语句一次声明多个变量:

var mood,age;
var mood = "happy";
var age = 33;

等价于

var mood = "happy",age = 33;

三. 数据类型

3.1 使用关键字typeof:
查看方法: typeof name 或者 typeof(name)
简单数据类型(值类型):
字符串、数字、布尔、未定义、空
String、Number、Boolean、undefined、null
复杂数据类型(引用类型):
Object、function、Array、Date、RegExp、Error…….
3.2 简单数据类型介绍
3.2.1 Number
1. 进制
进制包括2进制、8进制(011)、10进制、16进制(0xA)、制等….
2. 浮点数
因为精度丢失问题,所以不判断计算后的两个浮点数是否相等。
3. 数值范围
由于内存的限制,ECMAScript 并不能保存世界上所有的数值
最小值:Number.MIN_VALUE,这个值为: 5e-324
最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308
无穷大:Infinity
无穷小:-Infinity
4. NaN
a) NaN 非数值(Not a Number的简写)
console.log(“abc”/18); //结果是NaN
Undefined和任何数值计算为NaN;
NaN 与任何值都不相等,包括 NaN 本身
b) isNaN() :任何不能被转换为数值的值都会导致这个函数返回 true
(isNaN译为是否符合一个标准,什么标准呢?不是一个数字的标 准,如果符合了那么就不是一个数字,不符合就是一个数字)
isNaN(NaN);// true
isNaN(“blue”); // true
isNaN(123); // false
3.2.2 String
1. 字面量定义方式
用引号时,可单可双,唯独不可一单一双。可用.length看有几个字符。
2. 转译
总结:无法输出的字符,先输出/,在输出字符。(“、\、换行等….)
3. 字符串不可变
在内存中不会立刻消失,只能二次赋值,原有的字符在一定时间内被垃圾回收器回收。
4. 字符串拼接
如果两个变量都是字符串,无论是否包含数字,只要是拼接,那么在前一个后面添加后一个字符串。

3.2.3 Booblean
1. Boolean类型有两个字面量:true和false,区分大小写。(大写不对)
虽然Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值
true:
true、除0数字、“something”、Object(任何对象)为true
false:
false、0 、“”、undefined 、null为false
2. if判断时会把()内的值强行转换成boolean类型进行判断。
3. undefined和null
null和undefined有最大的相似性。看看null == undefined的结果(true)也就更加能说明这点。但是null ===undefined的结果(false)。不过相似归相似,还是有区别的,就是和数字运算时,10 + null结果为:10;10 + undefined结果为:NaN。
任何数据类型和undefined运算都是NaN;
任何值和null运算,null可看做0运算。


四. 数据类型转换
4.1 任何简单类型转换成String(三种方法)
1. 变量+“” 或者 变量+“abc”
2. String(变量)
3. 变量.toSting()
注意:undefined和null不可以
Null和undefined无toString方法。
4.2 任何简单类型转换成Number
此转换容易产生NaN,一旦被转换的变量中含有非数字字符,都容易出现NaN
1. 变量-*/一个数字(有非数字字符会出现NaN)

var num1  = “11”- 0;  
var num2 =“11”* 1;
var num =“11”/1;

JS底层做了一个强制类型转换,把字符串转换成了Number进行运算。
2. Number(变量)(有非数字字符会出现NaN)

var num1 = Number(“18”);    //把字符变成了数字。
var num2 = Number(“18.99”); //结果为18.99数字型。(有小数也转换)

3.parseInt()和parseFloat()(译为取整和取浮点数)
空字符串parseInt()和parseFloat()返回NaN,Number(“”)返回0
parseInt(变量):如果变量中首个字符为字母则结果为NaN。
否则取出现首个非数字前的整数。

123 = parseInt(“123.123aaaa”);

parseFloat(变量):如果变量中首个字符为字母则结果为NaN。
否则取出现首个非数字前的浮点数。(没有小数取整)

123.123 = parseFloat(“123.123aaaa”);

4.提别提示
Boolean类型中:true数值为1;false为0;
null的数值类型为0;
undefined无数值类型或者为NaN;
4.3 任何简单类型转换成Boolean
任何数据类型都可以转换成boolean类型,所以和以往两个转换不同;
1. Boolean(变量)

var bool = Boolean(“1111”); //bool为true;

2.!!变量
第一个逻辑非操作会基于无论什么操作数返回一个与之相反的布尔值
第二个逻辑非操作则对该布尔值求反
于是就得到了这个值真正对应的布尔值


五. 操作符
5.1 操作符种类
一、算数运算符(+—*/…)
a) 一元运算符:正号、负号、++、–、平方等一个变量就能运算
b) 二元运算符:+-*/%等两个变量才能运算
c) 三元运算符: 值1?值2:值3;
二、逻辑运算符( ||&& ! )(或且非)
三、比较运算符(<、>、==、>=…)
四、赋值运算符(=、+=、-=、*=、/=、%=)
5.2 优先级
1 ()
2 !、-(负数)、++、– (正数省略+)(一元运算)
3 *、/、%
4 +、- (加,减)(二元运算)
5 <、<=、<、>= (一级逻辑运算)
6 ==、!=、===、!==、 (二级逻辑运算)
7 && (三级逻辑运算)
8 ||
9?: (三元运算)
10 =、+=、-=、*=、/=、%= (赋值运算)
5.3 &&和||运算
1. &&链接两个boolean类型,有一个是false结果就是false。
链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)
例子:1 = 2&&1;0 = 0 && 1; 都是true取后面,都是false取前面。
2. ||链接两个boolean类型,有一个是true结果就是true。
链接值不是布尔类型时,按照成布尔类型计算,结果本身不变。(非布尔)
例子:2= 2||1;1 = 0 || 1; 都是true取前面,都是false取后面。

var obj  =  document.body.scrollTop  ||  document.documentElement.scrollTop;

六. 流程控制
一、顺序结构
赋值运算时为从右往左执行,且左侧为属性或变量,不取值!!!
二、选择结构
a) If语句
b) Switch语句
三、循环结构
a) for循环
b) while循环
c) do…while循环
6.1 循序结构
程序正常执行顺序不必过多研究,特殊需求,后续老师特殊讲解。
6.2 选择结构
共有两种,if语句和switch语句。If常用,switch为特殊情况使用,判断条件出现的情况特别多的时候用switch,其他时候if语句比较方便。
6.2.1 If语句
一、If语句用法有三种
1.if(条件1){程序1}
2.if(条件1){程序1}else{程序2}
3.if(条件1){程序1}else if(条件2){程序2}…else{程序n}
二、三目运算(也叫三元运算)(目或者元代表几个表达式)
三目运算可以替代部分if…else…功能,运算简单,使用方便,代码清晰。
表达式1?值1:值2
6.2.2 Switch语句
switch (值1) {
case value1:
程序1;
break; // break 关键字会导致代码执行流跳出 switch 语句
case value2:
程序2;
break;
default:
程序3;
}
注意:
break可以省略,如果省略,代码会继续执行下一个case
switch 语句在比较值时使用的是全等操作符,因此不会发生类型转换
(例如,字符串 “10” 不等于数值 10)。
6.3 循环结构
共3种,for/while/do…while;可根据需求选择使用;
1.遍历数组首选for循环,简单循环使用for。
2.而while循环强调,不记循环次数(不知道循环多少次),首选while。
3.最后do…while循环强调,无论怎样,至少执行一次是,使用do…while。
6.3.1 for循环
1) 执行流程
for (变量;条件1;条件2){ 执行程序 }
执行过程:变量->条件1->执行程序->条件2->条件1->执行程序…..
直到条件1不成立,跳出循环。
2) 三个表达式均为可选,但是必须写分号!!!
for(;;){程序} 死循环;
3) break和continue
break : 立刻跳出循环,不在执行该循环中的任何程序;
continue : 跳出本次循环,进入下一次循环中继续执行程序;
6.3.2 while循环
语法规则:

var i = 0;
while(i<10){程序1;i++};           

可以使用死循环和break连用。

While(true)(程序1; if(条件1){break;})

6.3.3 do…while循环(一定会执行一次do中的程序)

var i = 0Do{
程序1;
i++;
}while(1<10);

七. 数组

7.1 数组的定义
1. 字面量定义

var  arr  =  [1,2,3];
  1. 对象定义(数组的构造函数)
var  arr  =  new Array(参数);

参数位置一个数值时为数组长度,多个数值时为数组中的元素。
7.2 数组的操作
1. 求数组的长度
数组的长度 = 数组名.length;
可以通过修改数组的长度来改变数组中元素的个数,如果改小了,数组从后面删除元素。(伪数组的长度可以修改,但是不能修改里面的元素)
2. 获取数组中的元素
数组中的指定元素 = 数组名[索引值];
数组的索引代表的是数组中的元素在数组中的位置,从0开始。
如果获取数组中元素是,数组名[索引值],没有指定索引(元素没那么多),系统不报错,而是给定值为undefined;
3. 遍历数组(获取并操作数组中的每一个元素)(!!!重点!!!)

var arr = [1,2,3];
for(var i = 0;i<arr.length;i++){
    arr[i]  //如此操作数组中的每一个元素
}

八. 函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值