2018-11-02day26-总结

javascript

一、认识js

1.什么是js

js是Javascript的缩写,是一门专门用来处理网页中的行为的脚本语言,也是web标准中的行为标准
javascript和Java没有任何关系。

2.在什么地方写js代码

window.alert()--在网页上面弹出一个对话框
内联的js:写在标签事件相关的属性中,列如:onclick属性,属性值是js代码
内部的js:写在script标签的内容中,script标签理论上是可以放在整个html文件的任意位置,
但是一般放在head或者body中
外部的js:写在外部的一个js文件中(后缀是js的文件),然后再通过script标签设置src属性
的值为js文件地址来导入

3.js能做什么

a.js可以修改标签中的样式
b.js可以修改标签中的内容
c.通过js插入html代码

二、js基础语法

1.注释

//单行注释
/*
多行注释
多行注释
*/

2.标识符

标识符就是用来命名的(给变量命名,函数命名,对象命名)
js中要求标识符是由字符、数字、下划线和$符组成,数字不能开头
js中大小写敏感
var abc,abc12,hj_23,hj$

console.log()-->在控制台打印括号的内容
console.log(abc)

3.常用数据类型

数字类型(Number)、布尔(Boolean)、字符串(string)、数组(Array)、对象(Object)、function(函数)
数字类型(Number):包含所有的数字(整数和小数),支持科学计数法,不支持虚数

布尔(Boolean):true和false
字符串(String):用双引号或者单引号引起来
数组(Array):相当于python中的列表
对象(Object):python中对象和字典的结合
var p1={name:'于婷',age:18,sex:'女'}
function(函数):相当于python中的函数

4.typeof(数据)--获取数据类型
5.转换数据类型

new 类型名(数据)--将数据转换成指定的类型
var a =new Boolean(100)
console.log(a)

常用的特殊值:undefined(相当于python中的None),null(一般用来清空变量)

三、变量

语法
var 变量名
变量名=值
说明:
var-是js关键字,声明变量的时候用。var可以省略,省略的时候变量名后面必须赋值
不省略的时候,变量名可以赋值,也可以不赋值,不赋值的时候默认值是undefined
变量名-标识符,不能是关键字。驼峰式命名规范
同时声明多个变量

 var age=18,sex,score=100
console.log(age,sex,score)

四、运算符

js中支持:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符

1.数学运算符:+,-, * ,/,%,**(js7),++,--

++(自加1),--(自减1)
变量++,++变量,变量--,--变量(注意:变量必须有值)

var number=10
++number
console.log(number)

var number1 =1,number2
number2=number1++  //先赋值再加加
console.log(number1,number2)  //2,1

var number11=1,number22
number22=++number11   //先加再赋值
console.log(number11,number22)  //2,2
2.比较运算符:>,<,==,!=,>=,<=,===,!==

比较运算符的返回值都是布尔值
==(相等):判断值是否相等
====(完全相等):判断值和类型是否相等

console.log(5==5)    //true
console.log(5=='5')  //true

console.log(5===5)   //true
console.log(5==='5')  //false
3.逻辑运算符:&(与)、|(或)、!(非)

运算规则和python中的and,or,not一模一样

4.赋值运算符:=,+=,-=,*=,/=,%=

和python一样

5.位运算符 :& ,| , ^, ~ , >> , <<

和python一样

6.复合运算:数学>比较>逻辑>赋值

可以通过加()来改变运算顺序

五、分支结构

js中的分支结构有两个,分别是if语句和switch语句

1.if语句

结构:

a.if(条件语句){
代码段

}
说明:
if -是关键字
(){}-固定写法
执行过程:判断条件语句是否为true,为true就执行{}中的代码(不管缩进问题)

number=10
if(number % 2==0){
   console.log('是偶数')
}
b.if-else结构:

if(条件语句){
代码段1
}else{
代码段2
}

c.if-else if-else结构

if(条件语句){
代码段1
}else if(条件语句2){
代码段2
}else{
代码段3
}

2.switch语句

结构:
swicth(变量/表达式){
case 值1:{代码段1}
case 值2 : {代码段2}
......
default:{代码段3}
}
执行过程:先计算表达式 的值,然后从上往下一一和case后面的值进行比较,找到第一个
和表达式相等的case,然后将这个case作为入口,依次执行后面的所有的代码段
(这个case后边其他case后面的代码段直到执行完,或者遇到break为止。
如果没有找到和表达式一样的case值,就执行default后面的代码段

六、循环结构

js中的循环有for循环 和while循环

1.for循环

a.for -in:和python的for循环执行过程一样

for (变量 in 序列){
循环体
}
注意:取出来的是元素的下标

b.C的for循环结构

for(语句1;表达式2;语句3){
循环体
}
执行过程:先执行语句1,
再判断表达式2的结果是否为true,为true就执行循环体,执行完循环体再执行语句3;
再判断表达式2的结果是否为true,为true就执行循环体,执行完循环体再执行语句3;
依次类推,直到表达式2的结果为false,整个循环就结束

指导思想:语句1-里面写循环开始前的准备工作
表达式2-控制循环次数的
语句3-改变循环次数

2.while循环

a.while循环:和python的while循环一样

while(条件语句){
循环体
}

b.do-while循环

do{
循环体
}while(条件语句)

执行过程:先执行循环体,然后再判断条件语句是否为true;
为true再执行循环体,执行完循环体又判断条件语句是否为true:
以此类推,直到条件语句的结果为false,循环就结束。

3.break和continue:和python一样

七、函数

函数分为声明和调用,声明的时候不会执行函数体,只有调用函数才会执行函数体

1.函数的声明

a.和python相同的声明方式

function 函数名(参数列表){
函数体
return 返回值
}

b.以声明变量的形式声明函数

函数名=function(参数列表){
函数体
return
}
说明:
function-声明函数的关键字
函数名-驼峰式命名,见名知义
返回值:没有return返回值就是undefined

function sum(num1,num2){
    console.log('求两个数的和',num1,num2)
    return num1+num2}
sum(2,3)

2.函数的调用:

函数名(实参)
调用的时候,保证每个参数都有值
如果不给参数赋值,参数有默认值undefined
只能通过为止参数传参,不支持关键字传参
js中不支持不定长参数传参

八、字符串

1.字符串:由单引号或者双引号括起来的

a.转义字符和python中一样
b.字符串长度:字符串.length
c.获取单个字符:字符串[下标]
注意:js中下标的取值范围是0~长度-1,超出范围取到的是undefined;
js中不能切片
d.相关运算方法
+:将两个字符串拼接在一起产生新的字符串
(注意:如果是一个字符串加上其他数据,会先将其他数据转换成字符串再相加)
*:js中字符串不支持乘法运算 注意:NaN表示一个不存在的数
比较运算(<,>,==,!=,===,!==)
<,>--和python一样,还是比较字符编码的大小
Infinity:无穷大

 console.log('abc'.length)
console.log('abc'[4])
相关的方法:(看菜鸟的表)

js中的正则表达式是写在//之间的
str.match(正则表达式)-根据正则表达式匹配对象

九、数组

数组就是python中的列表

1.数组是有序的,可变的

2.增删改查

a.查:(获取数组中的元素)

数组[下标]
获取数组的长度:数组.length

b.增(添加元素)

数组.push(元素)--将元素添加到数组的最后

c.删除

数组.pop()--删除最后一个元素
数组.splice(开始删除的下标,删除的个数)-从数组指定的下标开始删除指定的个数

d.修改(修改指定下标的元素)替换指定下标后指定个数个元素

数组[下标]=新值-修改指定下标的元素
数组.splice(开始下标,个数,多个其他参数)--用其他参数

十、对象

js中没有python中的类,只有对象和构造方法
js中的对象相当于python中的对象和字典的结合

1.对象的字面量

对象名=(属性名:属性值,属性名2:属性值2)

2.使用对象方法

对象[属性名]
对象.属性

p1={
    //对象属性
    name:'小明',
    age:19,
    tel:135123,
    eat:function(){console.log('吃饭')}   
}
p1.eat()

3.构造方法

function 类名(属性1,属性2..){
this.属性名1=属性1
this.属性名2=属性2

this.方法名=function(){
函数体
}
return
}

function Dog(color,age,type){
   this.color=color
   this.age=age
   this.type=type
   
   this.eat=function(){
       console.log('吃东西')
   }
   this.jiao=function(){
       console.log('汪汪汪')
   }
   return this
}
dog1=Dog('black',2,'crazy')
console.log(dog1.age)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,843评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,538评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,187评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,264评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,289评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,231评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,116评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,945评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,367评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,581评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,754评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,458评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,068评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,692评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,842评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,797评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,654评论 2 354

推荐阅读更多精彩内容