1.代码遇到问题,优先调试,使用断点检测。
2.命名规范:英文或者拼音的全拼。
3.注重基础,以最简单的案例解决问题,以企业案例进行实践。
4.js有小bug,不要转牛角尖。
5.有疑问及时询问,或者积累。
6.三种注释:html中使用<!--xxx-->\css与js使用:单行//,多行/*xxxx*/;
7.异部与同步的使用方法(待补充)。
8.变量的声明与规范。
9.五大浏览器:谷歌,火狐,苹果,opera,ie。IE(8)最bug,牢记常见的浏览器的兼容问题。国产浏览器中的佼佼者,就是uc,最重要的就是谷歌,ie,火狐。
10.浏览器中具有解析器:可以解析HTML,css,js。相当于一个翻译。
11.首先打开,看到的是用户界面,浏览器引擎处理,可以持久性存储数据,但是,长时间不适用,会被电脑清除 其次,显示内容,解析css与html,都绘制出来的,浏览器所有显 示出来的界面,都是绘制出来的、
12.浏览器的组件:
13.浏览器的工作原理:
14.javascript:
ECMAScript:基本的语法与对象标准。
DOM:文档编辑
BOM:对象编辑
15.API就是一种方法,使用其他做出来的成果,放置在自己的程序中,就可以显示实现自己的功能。
16.程序本来是要编写代码,在进行进制编译,才能识别,现用的都是高级编程语言,最高级的编程语言就是c语言, 编译就是高级编程语言转化成为计算机语言,我们学习的js不 需要编译的,是一门脚本语言,这就是js的脚本原理。c#,java,ios三种语言大同小异。在计算机里面计算机存储具有一定的限制。
17.认知当前的变量到底是什么类型。脚本(不编译,直接运行在命令行中),弱类型(var),动态型语言(识别当前的数据到底是什么类型)。
18.系统具有不同的版本,同一个程序,在不同的系统的中不一定可以跨平台,但是js是可以跨平台的ios开发,anduod,设计,后台,都可以使用交互,特效,开发。
19. 布莱登.艾奇,十天的时间,设计出来的,ECMAScript,宣传时间,借用的java的名头,导致现在依旧在宣传,javascript跟java实在没关系。
20. js最初的目的就是解决浏览器与服务器之间的交互,比如,密码的强弱检测。
21. 展示信息,美化页面,计算能力。可以的项目:游戏,小游戏,页面,网页版的简历特效,博客园老师也在。
22. html极速3d立体式相册制作:网络教程上传。
23. js:在页面中进行验证,计算。是脚本语言,cmd,vbscript,却别之处,边执行,边编译。
24. IDE:集成开发软件。(sublim,webstorm,visual Studio)没有高亮显示,没有自动换行,是记事本写代码的坏处。
25. js点出来的东西与点不出来的东西:智能提示的东西可能不可以使用,智能并不提示的可能可以使用动态的解析,值的是在运行的时候才可以识别的语言类型是什么类型。
26.js注意点:
26.1变量具有大小写之分,var a=10;console(N);
26.2弱类型语言,定义变量,都是var
26.3字符串使用单引号与双引号都可以,只有在与DOM一起使用的时候才可以使用单引号。
26.4每一句代码结束后都要使用分号结束,不使用可能会出现不同的结果。
26.5js中的注释:对代码的解释,相当于对文言文中的翻译。单行//多行/**/
27. js代码script标签可以写在,但是要写body下最后面,好处是加载页面信息,最后加载js,速度快
而且用户体验最好。就算放在html后,浏览器也要执行一次把js代码放在body中的工作。
28. 待补充······
29. 数量:在页面中可以有多对js代码,第一行代码出错会影响当前的代码不会影响带后面的js代码。实例····
30. 异步与同步:
异步:多个人同时做多件事:js代码一边执行,一边下载,下载完毕,开始执行
同步:一个人有顺序的做多件事。js代码中。上下显示,按照顺序。
31.异步的两种用法:async:页面开始加载,开始下载。下载好就开始执行。defer就是页面加载完之后开始下载,下载完毕后开始执行。
32.js的type:第一:在xhtml中要使用text/javascript,第二:h5中不需要写text,第三:language属性是在外部广告。
33.交换两个变量的值:
1.第一种;第三方变量的方式
var mun1=10;
var num2=20;
var temp=num1;
num2=num1;
num1=temp;
console.log(num1,num2);
2.第二种:加减法
var num1=10, num2=20;
num1=num1+num2;
num2=num1-num2;
num1=num1-num2;
console.log(num1,num2);
3.第三种:位运算,异或运算
//使用二进制10 1010 20 10100 30 11110
var num=10;
var num=20;(相同为1,不同为0)
num1=num1^num2;(30)
num2=num1^num2;(10)
num1=num1^num2;(20)
console.log(num1,num2);(交换结果)
34. 命名规范:1.英文数字下划线,$组成,开头不用$避免与jq冲突也不用数字。
2.驼峰命名法,第二个英语单词开始首字母大写。
3.初始化变量,使用多个赋值一次var声明就可以。
35. 判断名字或者范围使用boolean值,ture或false,1或0,真或假;
36. undifined的情况:一种是声明变量但是没有进行赋值,另一种就是运算了返回值就是undifined。
37. mul的情况:清空或者赋值。
38. typeof(变量)显示变量的类型:num。str。flag。def。nul。obj;注意的是null的类型是object,null的值是null。
39. 两个类型的值在计算的时候是没有意义的:想要使用变量,最好先判断类型,是不是undifined或null
40. 蓝色是数值,黑色是字符换,经验而已不是标准。需要在控制台中判断值是否相等,使用单引号,双引号
是不可的。第二种就是外边是双引号,里面就是单引号。
41. NaN非数字,可以用来isNaN判断布尔值。
42. var num=0xa; console.log(num1)(值为10);这是控制台对所有进制的数值都会转换为10进制,
在js中不可以进行别的进制的数据储蓄。
43. js中的小bug,在存储小数的时候,小数有偏差,0.1+0.2+=0.30000004;不要测量像个小数的差与值。
44. Number.MAX_Number()Number.MAX_Number
45. 字符串:特性内容不可变,只可以显示所有的字符串开辟的所有空间的内容。字符串中空格也算一个长度
有些字在页面中会失效,那些事tab或者\\,只会显示一个\为的是跟上面的一行进行对齐。称为转义符。
46 \r\n\b
47. 加好用在两个字符串之间就是使用字符串链接的一起,两个字符串,就是拼接,一字符串一个数字
就是字符串跟数字的拼接,数字型的字符串相加就不是拼接?(两个疑问,字符数字,与数值数字加减四种结果)
48. 布尔类型:两个值,false,true数字也可以转换,非0是true,0是false。字符串也可以,非空是true,空
是false。3.undifined,null都是false。创建一个空的对象没有赋值,类型转换为true,但是给他赋值null
就成了false。
49. 当一个变量没有赋值,undifined,当一个变量声明了没有初始化,也就是一个意思。返回值undifined。
50. 变量没有赋值,结果就是undifined,在if语句中就会执行else中的语句。
51. 数据类型转换:需要这种类型的值,就需要转换,1.其他类型转数字类型,其他类型转字符串类型,其他类型
转布尔类型。
51.1 Number(不管是哪个转换失败就是NaN) parseInt(只要开头的数字,字母开头就NaN) parseFloat()--最常用的,严谨。
51.2 parseFloat(0234)返回值就是234,转换的是全部的值,包括小数部分的值。小bug,前面的0会丢掉。8进制?
51.3Number()最常用,最严谨,parseInt()少用,比如银行的小数你给丢了,呵呵哒,完了。。。parseFloat不严谨,NaN。
52. 其他类型转换为字符串:数字可以,toString(10)ok。。String(undifined、null)ok!!
53. 字符串的拼接:两个拼接+、十来个字符串拼接的方法????先把一串汉字输好,在那个地方添加变量,就
在这里一对引号,加+。ok
54. 算数运算符,复合运算符,比较运算符,逻辑运算符。
55. 算数运算表达式:首先是一个表达式,有运算符链接起来的表达式。
56. 一元运算符:++ -- num++ num-- ++num --num(特点是只有一个操作数就可以进行运算)
57. 二元运算符:1+1
58. 三元运算符:? :---》就是if》《=······
59. 复合运算符,复合运算表达式。内容:+= -= *=
60. 比较运算符,比较运算表达式。内容:> < >= <= == === != !==
61. 逻辑运算符,逻辑运算表达式--。内容:&& || ! 里面一般掺杂着比较运算表达式
62. a++与++a在遇到下一个运算符的时候必须要显示计算后的值。(重点理解四个计算结果)
63. ture&&obj=obj···1&&2=2;同理为前面的理论。
63.1 优先级从高到低:()优先级最高>>>元运算符++>-->!>>>算数运算符>>>*/%+->>>关系运算 > >>= > < > <= >>>相等运算
== != === !==>>> 逻辑运算符:先 && > ||;
64. 流程控制:控制代码执行的顺序--顺序结构,分值结构,循环结构
顺序结构:代码从上到下,从左到右(赋值=是特例从右到左)执行,
分值结构:if语句,if-slse语句,if-else··if-els···语句,switch-case,三元表达式;
if语句:if(表达式){·代码段·}先判断表达式结果是true还是false,如果是true就执行里面的代码段,否则不执行大括号的
代码段,直接执行大括号后面的内容。一般使用if语句就可以了,不需要if else语句的时候就不要这样使用。
if-else语句:语法:if(表达式){代码1}else{代码2};判断表达式的返回值是true,执行代码1,false执行带吗
这就是三元表达式:表达式1(或者值)?表达式2(值):表达式3(值);最多三个--
var max=num1>num2?(num2>num3?10:8):(num1>num3?90:88);(这是三对)
var if(num1>num2){if(unm2>num3){10}else{8}} elseif(num1>num3){90}else{88}};三元的if-else
if三种语句的使用范围情况分别是:一个树枝if,两个树枝if-slse,很多树枝,if-else if--ok!
65. switch-case:语法结构:switch(表达式){ case 值1:代码1;break;
case 值1:代码1;break;}
66. 有new就是创建一个对象,案例根据日期判断惊天是星期几?
var dt=new Date().getDay(){case 1:console.log(1);break; case 1:console.log(1);break; case 1:console.log(1);break;
case 1:console.log(1);break; }
67. 当case中间具有多个case符合值的情况,只执行第一个case,只有当符合第一个但是第一个没有加break
的时候,才会继续执行下面的case,这就是案例月份。
68. 给定一个变量判断变量属于哪个范围--
var dengji="x"; switch(dengji){case "a":console.log("0-30");break; case "a":console.log("30-60");break;
case "a":console.log("60-90");break; case "a":console.log("60-100");break; defout:console.log("no-search");break; }
69. 循环结构:同一行代码不停地执行,执行多次,包括;while循环。。do-while循环。。for循环。。for-in循环
理解层面:开枪i=0;段哥跑步i++;,小杨计数i<=20;,语法结构:i=0;while(i<=10){代码}
理论:先判断表达式是否成立,成立的话,就开始执行内部代码,否则直接跳过循环。
成立的情况执行内代码的i++----案例:使用while语句计算1-100之间所有数,所有奇数,所有偶数的和
var i=1, sum=0; while(i<=100){if(!i%2=0){sum+=i; }i++; }
再看一个死循环的案例就是不使用范围圈定。//提示用户输入一个账号与密码,账号是admin,密码是123,否则提示重新输入
var userName=prompr("请输入您的账号"),userPwd=("请输入您的密码");while(userName="admin"||userPwd="123"){
您的密码或账号错误 } console.log("登陆成功");
70. //while-if-bresk语句可以用来寻找第一个条件的值
var i=1; while(i<=200){ if(i%7==0){ console.log("i") } }
71. //while-if-continue语句可以用来寻找所有条件的值的和
72. while循环的特点是先判断后执行,有可能就是一次都不执行循环,do-while是先执行一次代码
//使用d0-while来实现用户的密码与账号登陆与直接使用while循环的区别在哪里?
var userName="",userPwd"";
do{ var userName=prompr("请输入您的账号"),userPwd=("请输入您的密码"); } while(userName!="admin
"||)
73. 三种变量的交换,三遍=======if中计算年龄的案例=======判断年龄的,判断成绩分数段if-else
根据当前的时间显示星期,根据级别显示分数,===输入数字显示几位数===计算100以内所有,偶数,奇数,
所有能被7整除的数==break跟cotinue做一次值与所有值的案例===只要不输入y就一直问我:我帅不帅
===账号和密码的判断:while与do-while。
74. 1.只要||前面为false,无论||后面是true还是false,结果都是返回后面的值。
2.只要||前面为true,无论||后面是true还是false,结果都是返回前面的值。
3.只要&&前面是false,无论后面是true还是false,结果都是返回前面的值。
4.只要&&前面是true,无论后面是true还是false,结果都是返回后面的值。