js概念

109 阅读7分钟

一、javascript概述

  1. 什么是javascript:

是一门基于对象和事件驱动的客户端脚本语言;

  1. 1995年网景公司,布兰登创建第一个名字叫livescript;

3.w3c每一个前端标注: ECMA-262

js包含哪几部分

ECMAscript 核心

BOM 浏览器对象模型

DOM 文档对象模型

二、如何引入javascript

1.内联(行内)脚本 行内: on事件="";

2.内部脚本 <script></script>

3.外部脚本 <script src=""></script>通过src在引入外部脚本时,script标签中不要写任何内容,写了也不执行;

建议写在body结束标签上方;

三、如何输出

alert() 以警告框的方式输出,会中断后续语句的执行,常用于编程员排错;

document.write(): 页面中输出会影响页面布局

console.log(): 在控制台输出,会输出对象的详细信息,不会影响用户体验,是程序员最常用的排错工具;

四、如何注释

//单行注释

/* 多行注释,块注释,段落注释 */

五、如何换行

页面中如何换行

document.write("hello
word") <br>换行标签

非页面中如何换行

console.log("hello \n word") \n:换行 \t:空格 理论8个 :转义符,将具有特殊含义的符号转为普通字;

扩展: "" '' 单引号 双引号也可以;

六、数据类型

number(数字) string(字符串)Boolean(布尔值) null(空) undefined(未定义)

对象为空为null(空) object(对象) 不是对象是undefined(未定义) NAN是Number(空)

七、 标识符的命名规则

  1. 只能包含字母、数字、下划线、$;
  2. 不能以数字开头;
  3. 不能是保留字或关键字;
  4. 语义化;
  5. 驼峰命名;
  • 大驼峰 HowAreYou (类名,构造函数名)
  • 小驼峰 howAreyou(变量,数组,对象) how_are_you(变量名) 6.匈牙利命名法:

整数: i_num;

小数:f_num;

字符串: str;

字符: ch;

布尔: bool;

数组: arr;

函数:fn;

对象: obj;

八、变量与常量

变量:是在内存中开辟一块空间,用于存储数据,在程序运行的过程中,这个空间中的数据会发生变化,所以称为变量;

如何声明:

  1. 显示声明: var 变量,变量名=值;
  2. 隐示声明: 变量名 = 值;

注:必须声明的时候赋值;

九、运算符与表达式

1.递增递减运算符 ++ --

规则:从左到右计算,如果变量在前,先取出变量中的值参与其他运算,然后变量再自增或自减。如果变量在后,则先自增或者自减,再参与其他运算;

2.算术运算符(结果是布尔值: true,flase) *乘 /除 %模取余 -减;

规则: number类型之间运算,直接运算;

number与string之间运算,现将string转为number

  • 如果是纯数字字符串,可转为数字,正常运算。

  • 如果不是纯数字字符串,则转为NaN,运算结果也为NaN

    true(1) false(0) null(0)

    undefined NaN 结果都为NaN

    注:非零的数/0:Infinity;

    非零的数 % :NaN

    +(加): 规则 1.如果+两边有字符串,则连接在一起

    true(1) false(0) null(0) undefined NaN结果都是NaN;

  1. 关系运算符

">"(大于) >=(大于或者等于) <(小于) <=(小于或者等于)

字符串 "100">2 false 取 1和2比较;

number类型之间,直接比;

string类型之间比较,从左到右依次比较,直到出结果不同类型之间比较,先转为相同类型,再比较;

  1. 逻辑运算符

注:0:表示假,其他非0的数据表示真;

true(1) !:非

false(0) 规则:非真及假 非假及真;

为假的值: 0 false null undefined NaN

&&:且 与 但 如果&&左边表达式的值为true时,返回&&右边表达式的值; 如果&&左边表达式值为false时,发生短路,返回左边表达式;

||:或 如果||左边表达式的值为true时,发生短路,返回左边表达式的值,如果||左边表达式为false返回右边的表达式;

5.三元(目)运算符? :

条件?语句:语句;

规则:如果条件为true则执行:前的语句

如果条件为false则执行:后的语句

6.赋值运算符

  • 简单赋值 =
  • 复合算术赋值: += -+ *= %= /=

规则:先取出运算符左边变量中的值,然后与运算符右边表达式的值进行相应的算术运算,最后将运算的结果赋值给左边的变量

==(等于) !=(不等于) ===(恒等,全等) !==(不恒等,不全等)

== !=:只判断结果,结果相等为true 3="3"

=== !==:先比较类型,如果类型相等,再比较结果,结果相同为true

7.特殊运算符 弱类型语言(松散类型语言)

new:创建对象

typeof:检测数据类型

null 检测返回的是object,但是null不是对象;

十、数据类型的转换

自动类型转换 强制类型转换

  1. parseInt(字符串,2~36):将字符串中左边有效的数字部分转为整数; 不是有效的停止转出, 没有有效的数字为NaN;

2~36进制,第二个参数:限制第一个参数是否符合第二个参的进制范围,如果不符合,直接返回NaN ,如果省略第二个参数或第二个参数为0,默认为十进制;

2.parseFloat():将字符串强制转换成小数必须以有效数字开头才会转成小数,否则转成NaN;

3.Number()将字符串强制转换成数字,整个字符串必须是纯有效的数字,才可以转,否则为NaN;

4.isNaN():判断参数是否为NaN,返回是true;

5.eval():将字符串强制转换成表达式并返回表达式的值;

代码规范

  • 运算符两边各加一个空格;
  • 写在{}中的语句要进行缩进(一个Tab);
  • 语句最后的;号;
  • 小括号的嵌套要加空格;
  • 双引号,单引号嵌套"''",'""';

十一、流程控制的三大结构

  1. 顺序结构
  • 顺序结构:从上到下,从左到右依次执行每一条语句不能跳过任何一条语句;
  • 选择结构:根据条件判断选择执行某一段代码;
  • 循环结构:满足一定条件,重复执行某一段代码;
  1. 实现选择结构的语句有哪些?

三元 if switch

  1. 单分支选择语句;

javascript

if()...条件 {}语句组; 只有为真的语句组;

注:如果语句组中只有一条语句时,{}可以省略,建议不省;

  1. 双分支语句

if(){}else{}

注:双分支如果可以使用3元实现优先使用三元,性能更高;

5.多分支选择语句

if(){}else if(){}

6.switch(){

case: break;

default : };

规则:先计算switch后的表达式,当这个值与某个case后表达式的值一致时,执行该case后的语句组,如果后面有break,则直接退出switch。

如果没有break,则继续执行后面所有的语句组,直到遇到break或右大括号。

十二、循环结构(重复)

1.循环思想:(循环三要素)

从哪里开始 到哪里结束 步长(步进)促使能达到结束的条件

2.实现循环结构的语句有哪些?

while do-while for

  • 当型循环 while(循环条件){语句组(步长)};
  • 直到型循环 do{ 语句组(步长) }while(循环条件);

3.多功能循环

for(循环初值;循环条件:步长){语句组};

4.无限循环

死循环:条件永远为真;

while(1){};

do while(1);

for(;1;){}

5.循环间的区别

  • while:当型循环,先判断条件,后执行语句;
  • do while:直到型循环,先执行语句,后判断条件。
  • for:多功能循环,先判断条件,后执行语句;
  • for while:如果第一次条件为假时,while一次都不执行;
  • do while:如果第一次条件为假时,dowhile至少执行一次;
  • while:一般用于循环次数不确定时;
  • for:一般用在循环次数确定时;
  1. 控制循环结构的关键字

braek

  • 用于switch语句中,跳出switch;
  • 用于循环语句中,跳出当前循环;

continue:跳出一次循环,提前进入下一次循环;

接下来进入js函数部分 =>