JavaScript基础笔记

1、console与alert的区别:

console.log();是在浏览器的控制台输出的(F12检查);alert是一个阻断式的弹出框;

2、变量的使用:

2.1.声明一个变量:统一使用var声明

在js中使用我们的自动推到机制类型(同一区域内,变量名不允许重复,若重复,就近原则)

2.2赋值

2.3使用

3、变量命名规范:

3.1人为:必须以字母或“_”或“$”,不允许空格,首字不能为数字,不宜太长,区分大小写,js语句松散,可以使用中文,但不能写,不能重复。

3.2js内部约定:关键字不能冲突;

3.3企业开发规定:

3.3.1骆驼式命名法(camel)/小驼峰:首字母小写,其他首字母大写

3.3.2帕斯卡命名法(Pascal)/大驼峰:首字母大写,其他首字母也是大写

3.3.3匈牙利命名法(Hungarian):基本和帕斯卡一样,但在第一个单词的前面会加一个小写字母,注意小写字母是变量类型。在js中不实用,因为统一使用var,但在其他语言中较重要。

4、变量的数据类型:

字符串(string)、数字(number)、布尔(bool)、对象(Object)、underfined(未定义)、null(空)

typeof:关键字帮助我们检测类型

5、数据类型之间的转换:(字符串转数字)

5.1直接使用js内部提供的方法进行转换:

parseInt:可以将一个字符串型的整数进行转换(可以提取数字,但首字母必须是数字,若不是,显示Nan-not  a number,在js中Nan是不想等的)

parseFloat:可以将一个字符串型的非整数进行转换

在js(弱类型语言)中,虽说有类型区分,但是,不管是int或float,统一使用number转换

5.1.1Infinity:用于存放表示正无穷大的数值;本身也是一个类型,可以直接使用,但首字母必须是大写。

5.2直接使用Number对象进行包裹

5.3参与数学计算(除了加法以外)

6、数字和字符串的转换:

6.1使用数学运算(仅限于加法)

6.1.1使用字符串方法:console.log(a.toString());

6.1.2直接使用String属性进行包裹:console.log(String(a));

6.2小数化转换

6.2.1保留三位有效数字

console.log(a.toFixed());

6.2.2以指数形式保留

console.log(a.toExponential());

6.2.3取三位数字,也会四舍五入

console.log(a.toPrecision());

6.3Bool类型转换:

6.3.1Bool类型转换成数Bool字:Number;

6.3.2Bool类型转换成字符串:String;

6.3.3数字转换成Bool:Boolean;(非零即为true)

6.3.4字符串转换成Bool:(字符串转布尔,必须有值,空也不行)Boolean;

6.3.5其他类型转Bool:Boolean;

7、基础类型的包装类型:

在JavaScript中,基本类型:数字、boolean、string。 使用规定大小位置进行数据的存储(Java,C#这些语言中)。 函数是一种数据类型。 在JavaScript中所有的基本类型仅仅只有数据本身,没有所具备的方法和属性。

只有对象才具备调用属性和方法

8、underfined和null:

null是不指向任何对象,如果给一个对象赋值了null,该对象有值,只不过是null;

underfined表示声明了一个对象,但是没有赋值任何值,所以对象显示的是underfined。(看似一样,但类型不同)

9、运算符

运算符是指将变量连接成具体的代码的符号

1.种类:算术、赋值、关系、逻辑、三目、自增自减

2算术运算符:在程序中帮助我们进行加减乘除运算的符号;

+:加号,可以做正号;

-:减号,可以做负号;

*:乘号;

/:除号;

%:取余(取模),正负取决于%左侧的数值;

3赋值运算符:给变量赋值;

复杂赋值:a+=1;等于a=a+1;

4自增自减运算符:

a++ :后加,运算结束加1;++a:前加,运算前自加1.

5.关系运算符(比较运算符):默认情况下,代码会按顺序执行,但有时,我们不希望程序一运行就执行,希望在满足一定的条件的时候去执行,所以我们需要进行条件判断!

5.1关系运算符包括:>   <   >=   <=    ==    ===    !=    !==

5.2所有关系运算符运算的结果都是布尔值。

5.3对于大于等于和小于等于只要一个符合条件就会返回true。

5.4==只是比较内容是否相等,并不比较类型。

5.5===除了比较内容是否相等,还需要比较类型是否相同,只有两者都相同,才会返回true。

5.6!=和!==(不等等)的使用:

!=是两个等于的关系,!是取反,即为不等;只比较内容,不比较类型;

同理!==为不等等;既比较内容,也比较类型;

5.7注意:关系运算符不能连续使用

5.8关系运算符的规律:

5.8.1如果都是关系运算符,按照从左往右依次运算;

5.8.2如果> < >= <= 和!= !==,那么左边的优先级一样,右边的优先级一样。左边的优先级大于右边

5.8.3算术运算符和关系运算符结合,算术运算符的优先级高于关系运算符。

6.逻辑运算符:

6.1逻辑运算符包括:&&(与)、||(或)、!(非),

6.2逻辑运算符参与运算的变量必须是布尔值

6.3&&两个条件都必须满足

6.4||只要满足一个即可

6.5!取反操作

7.三目运算符:

7.1单目运算符:!10只有一个数值参与运算;

7.2双目运算符:10>5,两个数值

7.3三目运算符:三个表达式进行计算;格式:条件?数值1:数值2;如果条件为true,返回数值1,为false,返回数值2;

运算符优先级:

同一优先级由结合方向决定

不同:!

10.+在js中的作用:

10.1如果两边都是数字,直接使用+进行数学加法运算

10.2如果有一边是字符串,一边是数字,+号是连接作用,输出的是字符串。

10.3还可以进行拼接操作

单双引区别:

1.js语言类型差异化,类型没那么严格,使用单双引都一样(只在js中)

2和html组合使用,html标签用“”,js用‘’。

11.程序流程控制:

1.顺序结构:

2.选择结构:

2.1if语句:特点:自由行比较大,条件既可以是数值,也可以是表达式

if(条件){

要执行的代码段

}else if(条件2){

要执行的代码段2

}else{

执行的代码段3

}

2.2if语句的简写:

if(条件)

代码1

代码块2

2.3if的跳楼现象:如果判断某一个条件成立,执行完对应的代码后,后面的判断以及代码都不会再继续执行下去。(如果需要解决我们的if跳楼现象,可以直接将else-if中的else去掉)

3.switch分支语句:基本和if 一样;

注意:case后为冒号,case里的只能是一个值,不能是比较式。

格式:switch(变量/数值){

case 数值1:

代码段1;

break;

case 数值2:

代码段2;

break;

case 数值3:

代码段3;

break;

default:

代码段4;

break;

}

在js中,使用switch需要加上break关键字,如果不加,会一直执行,知道找到break为止。

两者关系:

if语句能做的,switch不一定能;

switch语句可以做的,if都可以做;

4.循环语句:while语句

while(条件){

循环体(代码段)

}

执行原理:先判断条件是否成立,如果不成立,不执行;如果条件成立,则执行循环体,然后进行判断,执行循环体,知道不满足条件,跳出循环体。

break语句和continue语句:

continue语句结束当前的循环体,直接进行下一次循环;

break语句直接结束整个循环体

do-while循环语句:

do{

循环体

}while(条件);

先执行循环体的代码,再进行半段条件是否成立

while和do while区别:

do while:不管条件是否成立,先执行一次循环体,再去判断条件;

while:先判断条件是否成立,再执行循环体;

5for循环语句:先执行初始化语句,然后再判断条件,若条件成立,则执行循环体,不成立,结束整个循环体

for(初始化语句;条件(语句2);语句3){

循环体

}

执行原理:

当for循环后,先执行初始化语句,后判断条件是否成立,如果成立,执行循环体,再执行语句3,执行循环体,依次循环;当条件不成立时,跳出循环体。

10、Math库介绍和常用方法:

Math.pow(x,y):x的y次方;

Math.sprt(x):开平方;

Math.abs(x):取绝对值;

Math.max(a,b,c,d):取出最大值;

Math.min(a,b,c,d ):取出最小值;

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

推荐阅读更多精彩内容