python基础学javascript_Python3基础-JavaScript

一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:

核心(ECMAScript)

文档对象模型(DOM) Document object model (整合js,css,html)

浏览器对象模型(BOM) Broswer object model(整合js和浏览器)

Javascript 在开发中绝大多数情况是基于对象的.也是面向对象的.

一、JavaScript的引入方式

1 {#1 直接编写#}2

3 alert('hello yuan')4

5 {#2 导入文件#}6

二、JavaScript的基础

2.1 变量

1、声明变量时不用声明变量类型,全部使用var关键字  eg   var  a;

2、一行可以声明多个变量,并且可以是不同类型 eg var name="yuan",age=18;

3、(了解) 声明变量时 可以不用var. 如果不用var 那么它是全局变量.

4、变量命名,首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量

5、变量还应遵守以下某条著名的命名规则:

Camel 标记法

首字母是小写的,接下来的字母都以大写字符开头。例如:

var myTestValue = 0, mySecondValue = "hi";

Pascal 标记法

首字母是大写的,接下来的字母都以大写字符开头。例如:

Var MyTestValue = 0, MySecondValue = "hi";

匈牙利类型标记法

在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数,s 表示字符串,如下所示“

Var iMyTestValue = 0, sMySecondValue = "hi";

2.2 基础规范

1、在控制台显示js的内容

运行该脚本时,打开浏览器调试器

2、每行结束可以不加分号,没有分号会以换行符作为每行的结束

3、 注释 支持多行注释和单行注释.

多行注释   /* */

单行注释 //

4、使用{}来封装代码块

5、常量和标识符

常量 :直接在程序中出现的数据值

标识符:

由不以数字开头的字母、数字、下划线(_)、美元符号($)组成

常用于表示函数、变量等的名称

例如:_abc,$abc,abc,abc123是标识符,而1abc不是

JavaScript语言中代表特定含义的词称为保留字,不允许程序再定义为标识符

2.3数据类型

基本数据类型、引用数据类型

基本数据类型:Number、String、Null、Boolean、Null、Undefined

引用数据类型:object

数字类型(Number)

基本数据类型,不区分整型数值和浮点型数值

整数:

在JavaScript中10进制的整数由数字的序列组成

精确表达的范围是
-9007199254740992 (-253) 到 9007199254740992 (253)

超出范围的整数,精确度将受影响

浮点数:

使用小数点记录数据

例如:3.4,5.6

使用指数记录数据

例如:4.3e23 = 4.3 x 1023

16进制和8进制数的表达

16进制数据前面加上0x,八进制前面加0

16进制数是由0-9,A-F等16个字符组成

8进制数由0-7等8个数字组成

16进制和8进制与2进制的换算

字符串(String)

是由Unicode字符、数字、标点符号组成的序列

字符串常量首尾由单引号或双引号括起

JavaScript中没有字符类型

常用特殊字符在字符串中的表达

字符串中部分特殊字符必须加上右划线\

常用的转义字符 \n:换行 \':单引号 \":双引号 \\:右划线

String数据类型的使用

特殊字符的使用方法和效果

Unicode的插入方法

var str="\u4f60\u597d\n欢迎来到\"JavaScript世界\"";

alert(str);

布尔型(Boolean)

Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0布尔值也可以看作on/off、yes/no、1/0对应true/false

console.log(true+1); //2

console.log(false+1); //1

console.log(true+false); //1

Boolean值主要用于JavaScript的控制语句

Null & Undefined

Undefined 类型

Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。

当函数无明确返回值时,返回的也是值"undefined";

var x;

alert(x)

function f() {

document.write("

Susu,欢迎

");

}

// f();

console.log(f());

Null 类型

另一种只有一个值的类型是 Null,它只有一个专用值null,即它的字面量。值 undefined 实际上是从值 null派生来的,因此 ECMAScript 把它们定义为相等的。

尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。

如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。var person=newPerson()var person=null //空对象

数据类型转换

数字 + 字符串:数字转换为字符串

数字+ 布尔值:true转换为1,false转换为0

字符串 + 布尔值:布尔值转换为字符串true或false

console.log(12+'1212');

console.log('SUsu'+100);

console.log(true+1);

console.log(false+1);

console.log(true+false);

console.log('Susu'+true);

console.log('Susu'+false);

执行结果如下:

强制类型转换函数

函数parseInt: 强制转换成整数 例如parseInt("6.12")=6 ; parseInt(“12a")=12 ; parseInt(“a12")=NaN ;parseInt(“1a2")=1

函数parseFloat: 强制转换成浮点数 parseFloat("6.12")=6.12

函数eval: 将字符串强制转换为表达式并返回结果 eval("1+1")=2 ; eval("1<2")=true

注:NaN :not a number,属于Numer的一种

无法使用 for/in 循环来枚举 NaN 属性,也不能用 delete 运算符来删除它。

NaN 不是常量,可以把它设置为其他值。

提示:请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。

类型查询函数(typeof)

提供了 typeof 运算符来判断一个值是否在某种类型的范围内。可以用这种运算符判断一个值是否表示一种原始类型:如果它是原始类型,还可以判断它表示哪种原始类型。

函数typeof :查询数值当前类型
 (string / number / boolean / object )

例如typeof("test"+3) "string"

例如typeof(null) "object "

例如typeof(true+1) "number"

例如typeof(true-false) "number"

2.4运算符

算数运算符

加(+)、 减(-)、 乘(*) 、除(/) 、余数(% ) 加、减、乘、除、余数和数学中的运算方法一样 例如:9/2=4.5,4*5=20,9%2=1

-除了可以表示减号还可以表示负号 例如:x=-y

+除了可以表示加法运算还可以用于字符串的连接 例如:"abc"+"def"="abcdef"

递增(++) 、递减(--)

var i=1;

i++;

console.log(i); // 2

++i;

console.log(i); // 3

--i;

console.log(i); // 2

i--;

console.log(i); // 1

var i=1;

console.log(i++); // 1 先显示再加

console.log(++i); // 3 先加后显示

console.log(i--); // 3 先显示再减

console.log(--i); // 1 先减再显示

//NaN特点:

var n=NaN;

alert(n>3);

alert(n<3);

alert(n==3);alert(n==NaN);alert(n!=NaN);//NaN参与的所有的运算都是false,除了!=

逻辑运算符

等于 ( == ) 、不等于( != ) 、 大于( > ) 、 小于( =) 、小于等于(<=)

与 (&&) 、或(||) 、非(!)

1&& 1= 11 || 1= 11 && 0= 01 || 0= 10 && 0= 00 || 0= 0!0=1!1=0

逻辑 AND 运算符(&&)

逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。

如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:

如果某个运算数是 null,返回 null。

如果某个运算数是 NaN,返回 NaN。

如果某个运算数是 undefined,返回undefined。

如果一个运算数是对象,另外一个是Boolean值,返回该对象

如果两个运算数是对象,返回第二个对象

逻辑 OR 运算符(||)

与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值

赋值运算符

赋值 =

JavaScript中=代表赋值,两个等号==表示判断是否相等

例如,x=1表示给x赋值为1

if (x==1){...}程序表示当x与1相等时

if(x==“on”){…}程序表示当x与“on”相等时

配合其他运算符形成的简化表达式

例如i+=1相当于i=i+1,x&=y相当于x=x&y

关系运算符

var bResult = "Blue"

alert(bResult); //输出 true

在上面的例子中,字符串 "Blue" 小于 "alpha",因为字母 B 的字符代码是 66,字母 a 的字符代码是 97。

比较数字和字符串

另一种棘手的状况发生在比较两个字符串形式的数字时,比如:

var bResult = "25"

alert(bResult); //输出 "true"

上面这段代码比较的是字符串 "25" 和 "3"。两个运算数都是字符串,所以比较的是它们的字符代码("2" 的字符代码是 50,"3" 的字符代码是 51)

var bResult = "25" <3;

alert(bResult); //输出 "false"

这里,字符串 "25" 将被转换成数字 25,然后与数字 3 进行比较,结果不出所料

总结:

比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型.

比较运算符两侧如果都是字符串类型,比较的是最高位的asc码,如果最高位相等,继续取第二位比较.

等性运算符

执行类型转换的规则如下:

如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。

如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。

如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。

如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

在比较时,该运算符还遵守下列规则:

值 null 和 undefined 相等。

在检查相等性时,不能把 null 和 undefined 转换成其他值。

如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。

如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

2.5 控制语句

if控制语句

if-else基本格式

if (表达式){

语句1;

......

}else{

语句2;

.....

}

功能说明

如果表达式的值为true则执行语句1,

否则执行语句2

if语句嵌套格式

if (表达式1) {

语句1;

}else if (表达式2){

语句2;

}else if (表达式3){

语句3;

} else{

语句4;

}

switch 选择控制语句

switch基本格式

switch (表达式) {

case 值1:语句1;break;

case 值2:语句2;break;

case 值3:语句3;break;

default:语句4;

}

switch比else if结构更加简洁清晰,使程序可读性更强,效率更高。

for 循环控制语句

for循环基本格式

for (初始化;条件;增量){

语句1;

...

}

功能说明

实现条件循环,当条件成立时,执行语句1,否则跳出循环体

for (var i=1;i<=7;i++){

document.write("hello");

document.write("
");

}

----------------------------------------------

var arr=[1,"hello",true]//var dic={"1":"111"}

for (var i in arr){

console.log(i)

console.log(arr[i])

}

实例

Title

hello susu1

hello susu2

hello susu3

hello susu4

divhhhhhhh

console.log(doms)for(variindoms){

console.log(i);//0 1 2 length item namedItem

//console.log(doms[i])

}for(vari=0;i

console.log(i) ;//0 1 2

//console.log(doms[i])

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值