2018-08-17day-25

总结 : js基础

js基础语法

1.js是javaScrip的缩写,是一门脚本语言。专门用来负责网页上的行为(可以直接写到网页中)。

2.在哪儿写js代码
a。可以卸载script标签中(理论上script标签可以放到html文件中的任何位置,实际开发的时候一般放在head或者body中 )
b。写在标签的事件属性中(例如:onclick)
c。写到外部的js文件中(。js)

3.js在网页中能做什么事情
a。在网页的不同的位置插入html代码
b。修改标签的内容
c。修改标签的样式

4.怎么写js代码
1.js中的注释
//这是单行注释
/*

  • 这个是多行注释
    */

2.语句
一条语句结束需要加分号(现在版本的js中可以不写分号)
一行写多条语句必须使用分号隔开

3.js没有缩进问题,用{}表示一个块

4.基本的数据类型
Number(数字)、String(字符串)、Boolean(布尔)、Array(数组)--列表、Object(对象)---字典、Function(函数)、null、undefined

5.字面量
数字字面量
132
12.3
3e8
字符串字面量
'adad';"asdasd";
布尔字面量
true;false;
数组的字面量
[1,2,3,4,'as',true]
对象的字母量(对象的key值又是熟悉,可以不用加引号)
{a:"abc"}

在控制台中打印括号中的内容,功能和python中的print
console.log('hello world');console.log('你好,世界')

6.表示符
使用表示符来命名
a。由字母、数字、和美元符号组成,数字不能开头
var h8uu
$;

b。不能是关键字
var for

c。大小写敏感,Y和y不一样
var For

d。规范:1.要见名知意。

2、变量声明

在js中可以通过声明变量来保存数据

1、语法
var 变量名;
var 变量名=初值;
说明:var是关键字;
变量名:标识符,不能随意使用_或者是$开头;驼峰式的命名规则(第一个单词的首字母小写,后面每个单词的首字母大写)

声明变量
var userName
userName='wang'
console.log(userName)

var score=400
console.log(score)

同时声明多个变量
var name,age,sex;
var name1='abc',age1=18,sex;

一个变量可以存储任意类型的值,声明变量的时候没有赋值,默认值是undefined
var a='abc'
a=100

3、运算符

1.数学运算符:+,-,,/,%,++,--
a.+,-,
,%和数学中的是一样的
var a=10+20
var b=10*3
var c=20-10
var d=7%2

b./和数学中的除是一样的
var e=5/2;
console.log(e)

c.++,--
++:自加一 用法:变量++或++变量
--:自减一 用法:变量--或--变量
var a1=10;
a1++
console.log(a1)

2.比较运算符:>,<,==(相等),!=,>=,<=,===(完全相等),!==,>==,<==
结果都是布尔值
console.log(10>20)
==:判断值是否相等
console.log(5==5)
console.log(5=='5')

===:判断值和类型是否相等
console.log(5==='5')
console.log(5!=='5')

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

4.赋值运算符:=,+=,-=,=,/=,%=
赋值运算符的左边必须是变量
var aa=100
a+=10
a
=10
a-=10
a%=10
a/=10

console.log(a)

5.三目运算符
语法:条件语句?值1:值2;
判断条件语句的结果是否正确,如果是true,表达式的结果就是值1,否则是值2

var bb=10<20?10:20;
console.log(bb)

6.运算符的优先级和python基本一样。可以通过括号来改变运算符的运算顺序

4、分之结构

js中的分之结构有两种:if语句,switch语句
1.if语句
if(条件语句){满足条件要执行的代码块}

var age=18;
if(age>=18){
console.log('成年')
}
age--
b.if(条件语句){语句块一}else{语句块二}
if(age>=18){
console.log('成年')
}else{
console.log('未成年')
}

c.if - else if -else
if(age<18){
console.log('未成年')
}else if(age<40){
console.log('轻年')

}else{
console.log('老年')
}

2.switch语句
switch(变量){
case值:
语句1;
break;
case值2:
语句2;
break;
......
default:
语句3;
break;
}
执行过程:使用变量的值依次和后边每个case后面的值进行判断,如果相等(判断是完全相等,及===),就执行case值后面对应的语句。
如果所有的case值都和变量不相等,就执行default后面的值

var score=10;
switch(score){
    case 1:
        console.log('F');
        break;
    case 4:
        console.log('D');
        break;
    case 10:
        console.log('A+');
        break;
    default:
        console.log('其他');
        break;
}
console.log('=======')

5、循环结构

js中的循环分为for循环和while循环

1.for循环
a.for-in(python中的for循不环一样)
//取下标

for(var x in[1,2,'abc']){
    console.log(x)
}

用下标取元素

var aa=[1,1,12]
for(var x in aa){
    console.log(aa[x])
}

var obj1={name:'张三',age:30}
for(var x in obj1){
    console.log(x,obj1[x])
}

b.for(表达式1;表达式2;表达式3){循环体}

执行过程:先执行表达式1,然后再判断表达式2的结果是否是true,如果是true就执行循环体。执行完循环体,再执行表达式3
执行完表达式3,再判断表达式2的结果是否是true,如果是true又执行循环体;执行完循环体,再执行表达式3;依次类推,
直到表达式2的结果是false,循环结束。

计算1+2+3+....+100

var sum=0
for(var i=1;i<101;i++){
    sum+=i;
}
console.log(sum)

2.while循环
a.while(条件语句){循环体}---和python一样

var sum2=0
var i=1
while(i<=100){
    sum2+=i;
    i++;
}
console.log(sum2)

b.do-while循环:do{循环体}while(循环语句);
执行过程,先执行循环体,然后判断条件是否成立。如果成立再执行循环体。依次类推,直到条件不成立,循环结束。

var sum3=0
var i=1
do{
    sum3+=i;
    i++;
}while(i<=100);
console.log(sum3)

3.break和continue(和python一样)

6、函数

1.函数的声明:
function 函数名(参数列表){函数体}
function-关键字
函数名-驼峰式;见名知意
参数:参数可以有默认值,有默认值的参数要写在后面。调用函数传参的时候,是按实参的位置来传参。保证每个参数都有值
函数体:实现函数的功能。只有在调用的时候才会执行

function sum1(num1,num2){
    console.log('求两个数的和')
    return num1+num2
}
console.log(sum1(10,20))

函数没有return的时候,返回值为undefined

function func1(){
    console.log('我是无敌男')
}
console.log(func1())

2.函数的调用
函数名(实参列表)
调用的过程和python一样

3.作用域
全局变量和局部变量
全局变量:声明在函数外面的变量(从变量声明到文件结束)
局部变量:声明在函数里面的变量(从变量声明到函数结束)

var aaa=10

function func2(){
    var bbb=100
    console.log(bbb,aaa)
}
console.log(func2())
console.log(aaa)

7、数据类型

数字、字符串、布尔、列表、对象
1.数字:包含整数和小数

var num1=10
var num2=new Number()
console.log(num2+10)

2.字符串
a。''和""括起来的字符集
b。转义字符(和python一样)
c。字符编码是unicode编码

var str1='abc'
var str2="abc"
var str3='\n'
var str4='\\n'

e。获取字符串长度:字符串。length

console.log(str1.length)

f.获取单个字符:字符串[下标]
下标:1.范围是0 - 长度-1;2.如果越界,不报错,但结果是undefined
js中的字符串没有切片的操作
console.log(str1[0])

g。运算符
在js中字符串只支持加操作,不支持*操作
+操作就是拼接两个字符串
js中字符串可以和其他任何数据进行加操作,其效果都是字符串连接(会将其他数据转换成字符串)

console.log('123'+'abc','bcd'+1000)

h。字符串相关方法(查)

var strstr='abc111'
re=strstr.replace(/\d+/i,'ooo')
console.log(re)

3.对象,构造方法

声明构造方法

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

推荐阅读更多精彩内容