week4

JavaScript

1、是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言

2、作用:表单验证,减轻服务器压力

添加野面动画效果

动态更改页面内容

Ajax网络请求 ()

3、组成部分:ECMAScript() DOM(文档对象模型document) BOM(浏览器对 象模型)

ECMAScript:语法 变量和数据类型 运算符 逻辑控制语句 关键 字、保留字 对象

4、基本结构:<script type="text/javascript">

语句

</script>

变量:变量名由字母数字下划线$符号组成。开头不能

<!--[使用js的三种方式]

1、html标签中内嵌js;

2、html页面中直接使用js:

<script type="text/javascript">

//js代码

</script>

3、引用外部js文件:

<script language="JavaScript" src="js文件路径"></script>

【注意事项】

① 页面中js代码与引用js代码,可以嵌入到html页面的任何位置。但是,位置不同会影响到js代码的

执行顺序。

例如:<script>在body前面,会在页面加载之前执行js代码。

② 页面中js代码,使用type="text/javascript"

引用外部的js代码文件,使用language="JavaScript"

③ 引用外部js文件的<scritp></scritp>标签必须成对出现,且标签内部不能有任何代码。

-->

/*[js中的变量]

* 1、js中变量声明的写法;

var width=10; 使用var声明的变量,只在当前的函数作用域有效

width1=11; 不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效。

var a,b,c,=1;//同一声明语句同时声明多个变量,变量之间用英文逗号分隔,但赋值要单独赋值

,例如上式中只有c赋值为1 a/b为undefined(未定义)

[声明变量注意事项]

① js中所有变量类型的声明,均使用var关键字。变量的具体数据类型,取决于给变量的赋值执行

② 同一变量,可以在多次不同赋值时,修改变量的数据类型;

var width=10; //width为整形

width="哈哈";//width改为字符串类型;

③ 变量可以使用var声明,也可以省略var。【区别】不使用var 默认为全局

④ 同一变量名,可以多次用var声明。但是没有任何含义,也不会报错。第二次之后的声明,只会被

理解为未赋值。

* 2、变量的命名规范;

① 变量名只能有字母数字下划线和$组成;

②开头不能是数字

③ 变量区分大小写,大写与小写为不同变量;

* 3、变量要符合驼峰法则;

变量开头为小写,之后每个单词首字母大写;(或单词之间用下划线分开);

LiuMengHenPiaoLiang

liu_meng_hen_piao_liang

4、js中的变量的数据类型

undefined:未定义,用var声明的变量,没有进行初始化赋值var a;

null:表示空值;例如,空的对象,空的数组,

boolean:真假,可选值 true/false

number:数值类型。可以是小数也可以是整数。

string:字符串;用"" 或‘‘ 包裹的内容,成为字符串

object:对象(复杂数据类型)

5、常用的数值函数:

① isNaN:用于判断一个变量或常量,是否为NaN(非数值)

使用isNaN判断时,会尝试使用Number()函数进行转换,如果能转换为数字,则不是非数值

,结果为false.

"111" 纯数字字符串,false ;"" 空字符串,false; "1a"包含其他字符,true;

true/false 布尔类型,false;

② Number():将其他类型转换为数值类型。

【字符串类型转数值】

>>>字符串为纯数值字符串会转为对应的数字"111"->111

>>>字符串为空字符串时,会转为0 ""

>>>字符串包含其他非数字字符时,不能转换,直接赋值。

【布尔Boolean类型转数值】

true->1 false->0

【null/undefined 转数值】

null->0 undefined->NaN

【object 类型转数值】

*先调用ValueOf方法,确定函数是否有返回值,再根据上 述各种情况判断。

*

③ parseInt:将字符串转换为数值类型;

>>>空字符串不能转。结果为NaN;

>>>纯数字字符串,能转。"123"->123 ; "123.5"->123;(小数转换时直接抹掉小数点,不四舍五入)

>>>包含其他字符的字符串。会截取第一个非字符串前的数值部分。

"123a456"->123;"a123456"->NaN

>>>parseInt只能转string(字符串)Boolean/null/undefined 均为NaN

④ parseFloat:将字符串转换为数值类型;

>>>使用方式同parseInt,但是当转换小数字符串时,保留 小数点;转换整数时,保留整数。

"123"->123 ; "123.5"->123.5;

⑤ typeof:用来检测变量数据类型;

未定义->undefined 字符串->string true/false->Boolean

数值->Number 对象/null->object 函数->function

数据类型

undefined

null:空值

boolean:内容显示对错

number:数字

string:字符串

object:对象(复杂数据类型)

*/

var width;//声明变量

width1=11; //给变量赋值

alert(width);

var width=10; //声明变量的同时,直接赋值

var x=8,y=9,z=10;

alert(x)

/*

【js中的输出语句】

* document.write();

* 输出语句,将write的()中的内容打印在浏览器屏幕上;

* 使用时注意:除变量/常量以外的任何内容,打印时必须""中。变量/常量必须放到""外。

* 打印内容同时有多部分时之间用+链接

* 例如:document.write("左手中的纸牌:"+left+"<br />")

*

* alert();

* 弹窗警告,()中的使用方式同上。

* */

//左手换右手的数字

var left=10

var right=8

document.write("<h3>输出互换前手中的纸牌:</h3>");

document.write("左手中的纸牌:"+left+"<br />");

document.write("右手中的纸牌:"+right+"<br /><br />");

var center;//声明一个中间变量

center=left;//左手的值给中间变量

left=right;//把右手的值给左手

right=center//把中间的值给右手

document.write("<h3>输出互换后手中的纸牌:</h3>");

document.write("左手中的纸牌:"+left+"<br />");

document.write("右手中的纸牌:"+right+"<br /><br />");

js中的运算符

1、 算术运算

+ 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减

+:有两种作用,链接字符串/加法运算;当加号两边均为数字时,进行加法运算;当加号两边有任意一边为字符串

进行字符串连接,连接之后结构仍为字符串。

++:自增运算符,将变量在原有基础上+1

--:自减运算符,将变量在原有基础上-1

【n++与++n】

n++:先使用n的值进行计算,然后再把n+1;

++n:先把n的值+1,然后再把用n+1的值去运算;

相同点:不论n++还是++n,在执行完代码以后,均会把n+1

例如:var a=3;

var b,c;

b= a++ +2; //a=3 b=6 a=4

c= ++a +2; //a=4 a=5jj

2、 赋值运算

= 赋值、 += -= *= /= %=

+=:a+=5;相当于a=a+5;但是前者执行效率要比后者快。

3、 关系运算

== 等于、=== 严格等于、 != 不等于、 >、 <、 >=、 <=;

===:严格等于,类型不同直接返回false;类型相同,再进行下一步判断。

== :等于,类型不同,尝试将等式两边转为数字,再判断;类型相同,再进行下一步判断。

null == undefined √ null=== undefined ×

4、条件运算符(多目运算)

a>b?true:false

有两个关键符号 ?和:

当?前面的运算结果为true时,执行:前面的代码

当?前面的运算结果为false时。执行:后面的代码

>>>夺目运算符可以多层嵌套:

例如:var jieguo = num>5?"输入太大":(num==5"蒙对了":"输入太小")

5、逻辑运算符

&& 与、|| 或、!非、

[运算符的优先级]

() 算最算

! ++ --

% / *

+ -

> < >= <=

== !=

&&

||

各种赋值= += *= /= %=

js中的分支结构

/*[if - else结构]

* 1、结构写法:

if(判断条件){

//条件为true时执行

}else{

//条件为false时执行

}

2、if()中的表达式,运算之后的解果应该为:

① Boolean:true 真 false 假

② String: 非空字符串为真 空字符串为假

③ Number: 0为假,一切非0均为真

④ Nan/Null/Undefined: 全为假

⑤ Object:全为真

3、else{}结构,可以根据具体情况省略

*/

var num={};

if(4){//条件为true时执行

document.write("if条件成立");

}

else{//条件为false时执行

document.write("if条件不成立");

}

/*{多重if、阶梯if}

1、结构写法:

if(条件一){

//条件一成立

} else if(条件二){

//条件一不成立&&条件二成立

//else if部分 可以有n多个。

}else {

条件一不成立&&条件二不成立

}

2、多重if结构中,各个判断条件是互斥的!只能选择其中一条。

3、if else 的{}可以省略,但一般不提倡;

如果省略{}则,if else结构包含的代码,仅为其后最近的一行(分号结束);

如果省略{}则, else 结构永远属于其前方最近的一个if 结构。

*/

/*【嵌套if结构】

1、结构写法:

if (条件一){//条件一成立

if (条件二){//条件一成立&&条件二成立}else{//条件一成立&&条件二不成立}

}else{//条件一不成立}

2、if 结构可以多重嵌套,但是原则上不超过三层

*/

/*[switch-case 结构:多路分支]

* 1、结构写法:

* switch(表达式){

case 常量表达式1;

语句1;

break;

case 常量表达式2;

语句2;

break;

.....

default:

语句n;

break;

2、注意事项;

① switch()中的表达式以及case后面的表达式可以为任何js,对象和数组不行;

② case后面的所有常量表达式,必须各不相同,否则只会执行一个;

③ case后的常量可以是任何数据类型,同一个switch结构的不同case,可以使不同的数据类型。

④ switch在进行判断的时候,采用的是全等判断===;

⑤ break的作用:执行完case的代码后,跳出当前switch结构;缺少break的后果;

从正确的case项开始,依次执行所有的case和default。原因:⑥

⑥ switch结构在判断时,只会判断一次正确答案,当遇到正确的case选项时,将不会再判断后续项目。依次往下执行。

⑦ switch结构的执行速率要快于多重if结构。在多路分支时,可以优先考虑使用switch结构。

* }

*/

[循环结构的步骤]

①生明循环变量

② 判断循环条件

③ 执行循环体(while 中的{}所有代码)操作

④ 更新循环变量

然后,循环执行② ③ ④

【js 循环条件支持的数据类型】

① Boolean:true 真 false 假

② String: 非空字符串为真 空字符串为假

③ Number: 0为假,一切非0均为真

④ Nan/Null/Undefined: 全为假

⑤ Object:全为真

while 循环特点:先判断再执行

do-while循环特点:先执行,再判断;即使初始条件不成立,do-while循环也至少执行一次。

var n =1;// ①声明循环变量

while (n<=10){ //② 判断循环条件

document.write("Helloworld"); // ③ 执行循环体(while 中的{}所有代码)操作

n++; // ④ 更新循环变量

}

var m =1;

do{

document.write("Helloworld<br/>");

m++;

}while (m<=5);

[for循环]

1、for循环有三个表达式,分别为:①定义循环变量②判断循环条件③更新循环变量

三个表达式之间用分号分割。

for循环三个表达式可以省略,两个;缺一不可。

2、for循环特点;先判断,再执行。

3、for循环三个表达式,均可以又多部分组成,之间用 , 隔开;但是第二部分判断条件需要用&&连接,最终结果需要为真/假。

for (var n=1,j=5;n<=3;j>=1&&n++,j--) {

document.write("Hellowfor<br/>");

document.write(n+"/"+j);

}

时间: 2025-01-25 03:36:45

week4的相关文章

Andrew Ng 的 Machine Learning 课程学习 (week4) Multi-class Classification and Neural Networks

这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解和初步掌握机器学习的人来说是不二的选择.这门课程涵盖了机器学习的一些基本概念和方法,同时这门课程的编程作业对于掌握这些概念和方法起到了巨大的作用. 课程地址 https://www.coursera.org/learn/machine-learning 笔记主要是简要记录下课程内容,以及MATLAB

Week4 案例分析

Week4 案例分析 这篇随笔是关于初步使用CSDN 的 App后,对该软件的测评,分析,建议和规划. Part1 调研.测评 CSDN App 的 Bug 发现 BUG 1 (二级标题的显示问题) 可以看到在[资讯]推送列表的首页,部分大标题下面出现了一些"不和谐"的代码.并且这段代码只出现在了[资讯]模块下面的内容预览中,简单对比出现这种 bug 的文章与未出现 bug 的文章,并没有发现明显区别. BUG 2 (代码的显示问题) 首先,我觉得这个功能在手机端的体验本身就非常不好,

【week4】课堂Scrum站立会议

项目:连连看游戏 小组名称:天天向上(旁听) 小组成员:张政 张金生 李权 武致远 已完成任务 1.本项目采用c#. 2. 初步界面. 形成一个windows下的游戏界面,每个需要消除的方块是一个button,每个button的背景会成对出现在不同的地方,两个button可以直线连接,就可以消除.目前只有一关. 今天的任务: 1.调bug.已完成工作中,连续点击有一个button会出现此button消除的现象,计划今天解决.(张政) 2.闪烁.当超过10秒用户没有连线,对用户进行提醒.提醒方式是

Week4(9月30日):

Part I:提问  =========================== 1.什么是DRY? 2.解释下面的模型验证规则. public class Movie { public int ID { get; set; } [Required] public string Title { get; set; } [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } [Required] public string

【week4】技术随笔psp

本周psp 随笔字数折线图: 代码行折线图 时间分配饼图:

Week4 结对编程

1.照片 1.1  结对编程参与者:李文涛.黎柏文 1.2  展示照片 2.结对编程的优点&缺点 2.1 优点 2.1.1.两人分工合作,减少了工作量 2.1.2.结对编程的伙伴往往能提供不同的思维,能提高解决问题的速度 2.1.3.结对编程的时候能互相测试,更容易发现自己单独发现不了的bug 2.2 缺点 2.2.1.结对编程需要经常讨论,不方便集中注意力 2.3 自己的优缺点 单独工作的时候效率较高 2.4 对方的优点 生活习惯良好,能时刻紧跟进度 3.怎样利用好的设计方法,如Informa

Python笔记总结week4

  1. Built-in functions 函数可能遇到的问题:下面例子函数改变了函数需要传入的参数 li = [11,22,33,44] def f1(arg): arg.append(55) f1(li) print(li) #打印结果为 [11,22,33,44,55] 检测传的值能不能调用: callable() f2 = [1,2,3] print(callable(f1)) #打印结果为True chr(), ord()针对ASC码对应表的关系 r = chr(65) o = o

Week4.1_

Coursera Algorithms week4 基础标签表 练习测验:Inorder traversal with constant extra space

题目原文: Design an algorithm to perform an inorder traversal of a binary search tree using only a constant amount of extra space. 1 public void traverse(BST<Key,Value> bst) { 2 traverse(bst.root.left, bst.root); 3 } 4 5 private void traverse(Node curre