一、javascript概述
什么是javascript:
是一门基于对象和事件驱动的客户端脚本语言;
1995年网景公司,布兰登创建第一个名字叫livescript;
3.w3c每一个前端标注: ECMA-262
js包含哪几部分
ECMAscript 核心
BOM 浏览器对象模型
DOM 文档对象模型
二、如何引入javascript
1.内联(行内)脚本 行内: on事件="";
2.内部脚本
3.外部脚本 通过src在引入外部脚本时,script标签中不要写任何内容,写了也不执行;
建议写在body结束标签上方;
三、如何输出
alert() 以警告框的方式输出,会中断后续语句的执行,常用于编程员排错;
document.write(): 页面中输出会影响页面布局
console.log(): 在控制台输出,会输出对象的详细信息,不会影响用户体验,是程序员最常用的排错工具;
四、如何注释
//单行注释
/* 多行注释,块注释,段落注释 */
五、如何换行
页面中如何换行
document.write("helloword")
换行标签
非页面中如何换行
console.log("hello \n word") \n:换行 \t:空格 理论8个 :转义符,将具有特殊含义的符号转为普通字;
扩展: "" '' 单引号 双引号也可以;
六、数据类型
number(数字) string(字符串)Boolean(布尔值) null(空) undefined(未定义)
对象为空为null(空) object(对象)
不是对象是undefined(未定义) NAN是Number(空)
七、 标识符的命名规则
只能包含字母、数字、下划线、$; 不能以数字开头; 不能是保留字或关键字; 语义化; 驼峰命名;
大驼峰 HowAreYou (类名,构造函数名) 小驼峰 howAreyou(变量,数组,对象) how_are_you(变量名) 6.匈牙利命名法:
整数: i_num; 小数:f_num; 字符串: str; 字符: ch; 布尔: bool; 数组: arr; 函数:fn; 对象: obj; 八、变量与常量 变量:是在内存中开辟一块空间,用于存储数据,在程序运行的过程中,这个空间中的数据会发生变化,所以称为变量; 如何声明:
显示声明: var 变量,变量名=值; 隐示声明: 变量名 = 值;
注:必须声明的时候赋值; 九、运算符与表达式 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;
关系运算符
">"(大于) >=(大于或者等于) <(小于) <=(小于或者等于) 字符串 "100">2 false 取 1和2比较; number类型之间,直接比; string类型之间比较,从左到右依次比较,直到出结果不同类型之间比较,先转为相同类型,再比较;
逻辑运算符
注: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不是对象; 十、数据类型的转换 自动类型转换 强制类型转换
parseInt(字符串,2~36):将字符串中左边有效的数字部分转为整数; 不是有效的停止转出, 没有有效的数字为NaN;
2~36进制,第二个参数:限制第一个参数是否符合第二个参的进制范围,如果不符合,直接返回NaN ,如果省略第二个参数或第二个参数为0,默认为十进制; 2.parseFloat():将字符串强制转换成小数必须以有效数字开头才会转成小数,否则转成NaN; 3.Number()将字符串强制转换成数字,整个字符串必须是纯有效的数字,才可以转,否则为NaN; 4.isNaN():判断参数是否为NaN,返回是true; 5.eval():将字符串强制转换成表达式并返回表达式的值; 代码规范
运算符两边各加一个空格; 写在{}中的语句要进行缩进(一个Tab); 语句最后的;号; 小括号的嵌套要加空格; 双引号,单引号嵌套"''",'""';
十一、流程控制的三大结构
顺序结构
顺序结构:从上到下,从左到右依次执行每一条语句不能跳过任何一条语句; 选择结构:根据条件判断选择执行某一段代码; 循环结构:满足一定条件,重复执行某一段代码;
实现选择结构的语句有哪些?
三元 if switch
单分支选择语句;
javascript if()...条件 {}语句组; 只有为真的语句组; 注:如果语句组中只有一条语句时,{}可以省略,建议不省;
双分支语句
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:一般用在循环次数确定时;
控制循环结构的关键字
braek
用于switch语句中,跳出switch; 用于循环语句中,跳出当前循环;
continue:跳出一次循环,提前进入下一次循环; 接下来进入js函数部分 =>
作者:沐森 链接:https://juejin.cn/post/7462210754361507851 http://xakfp.wordpress.com/ http://dxkfp.wordpress.com/ http://zykfp.wordpress.com/ http://wwkfp.wordpress.com/ http://lzkfp.wordpress.com/ http://wlmqkfp.wordpress.com/ http://cnkfp.wordpress.com/ http://lskfp.wordpress.com/ http://kmkfp.wordpress.com/ http://gykfp.wordpress.com/ http://cdkfp.wordpress.com/ http://sykfp.wordpress.com/ http://hkkfp.wordpress.com/ 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。