JavaScript1

JavaScript(行为层)

1、JavaScript介绍

JavaScript是一种轻量级的脚本语言,是一种用于客户端web开发的脚本语言。

2、JavaScript创建方式

JavaScript代码块可以嵌在任何地方,但一般放在<head>中。

(1)内嵌式

(2)外链式

(3)事件定义  (JS区分大小写)

嵌入在html标签的属性中,onclick点击事件

作为标签的属性出现,属性值就是JS代码。

3、JavaScript输出方式

(1)alert (window.alert)  警告  不识别标签

(2)document.write(123);  可以识别标签,内容写到了body里。

document也是window对象的属性,本身也是一个对象。

方法:方法名()

(3)console.log()   控制台日志,工作中调试常用。

alert()函数会阻断JavaScript程序的执行。

(4)console.error()   报错

(5)console.warn()   警告

(6)console.info()  信息级别

4、onclick ,当鼠标点击一下时执行一次

onmouseover ,当鼠标放上去时执行一次

onmouseout ,当鼠标移出去时执行一次

onmousedown ,当鼠标按下时执行一次

onmouseup ,当鼠标在上面松开(弹起)时执行一次

ondblclick ,当鼠标双击时执行一次

onload ,当对象加载完成时执行一次

5、JS中常用对话框

(1)警示对话框alert()   window.alert()  无返回值

(2)确认对话框confirm()  window.confirm()  有返回值,返回值是布尔型

(3)提示输入对话框prompt()  window.prompt()  有返回值,返回值是输入框中的值(字符串),点击取消返回是null。

6、JS数据类型

基本数据类型

(1)字符串 string

(2)数字  number

(3)布尔  boolean

(4)null 一个“空”的字,可用来清空变量,表示对象为空。

(5)undefined  表示变量不含有值

复合数据类型

数组  对象

7、变量命名规则

(1)必须以字母、下划线或$开头。

(2)变量名区分大小写。

(3)不允许使用关键字和保留字做变量名。

如:break,default,else,void,int,double,public等等。

8、变量的声明

语法:var 变量名;

9、算数运算符  +-*/%

b=a++;先赋值再自增

b=++a;先自增再赋值

JS是弱数据类型的语言,如果数字与字符串相加,数字就会被同化为字符串;如果数字与字符串相减,乘,除,取余,字符串会被同化为数字,转化数字成功(字符串为由数字组成的字符串)直接做运算,失败显示NAN(not a number)。

10、检测数据类型

alert(typeof(sum));或者alert(typeof sum);

11、比较操作符

== 值相等  ===恒相等  值相等,类型也一样

!=不等   !==不恒等

12、逻辑运算符

&& ||  !

运算符的优先级

! > 算术运算符(+-*/%)> 关系运算符(>= <= == === !=)> && > ||(逻辑运算符)> 赋值运算符(=)

特殊例子:

0.1+0.2== 0.3  false

0.1+0.2=0.3000...4

13、a.tostring() 转化为字符串

a.tostring(2)  转化为对应的进制  该例子为转化为二进制

14、类型转换

(1)var bool = true;

alert(bool*1);//输出1 ,布尔值true转换成数字为1,事实上将其它值转换在数字最简单的方法就是将其乘以1

另一种方法:

转化为整型:var num =parseInt(prompt(“请输入一个数”));

转化为浮点型:var num =parseFloat(prompt(“请输入一个数”));

(2)bool = false;

alert(bool*1);//输出0

alert(bool+"");//输出"flase",将其它类型转换成字符串的最简单的方法就是将其写一个空字符串相连

(3)var str = "some string";

str ="";

alert(!!str);//输出false,只有空字符串转换成布尔值时会是false,非空字符串转换成布尔值都会返回true

(4)var num =0;

alert(!!num);//false

num=-123.345;

alert(!!num);//true,除0以外的任何数字转换成布尔值都会是true

//还有一个非常重要的是,空字符串转换成数字将会是0

alert(""*1);//输出0

15、分支与循环

<1>Javascript中的程序结构分为:

1.顺序结构:没有任何结构就是顺序,所有语句从上到下,逐条执行

顺序结构主要包括注释语句、赋值语句、输入输出等语句

2.分支结构

(1)单分支{}语句体

要么做,要么不做;如果if(条件)条件为true,那么执行if(){}所有语句,否则直接跳过if结构

(2)双分支或多分支

if…else      if…elseif…else if…elseswitch

3.循环结构

for循环

while循环

do…while循环

for…in循环

<2>switch和多重if的异同

相同点:都可以实现多分支结构

不同点:

Switch:只能处理等值的条件判断,且条件是整型变量或字符变量的等值判断

多重if:处理在else部分还包含其它if结构,特别适合某个变量处于某个区间时的情况

<3>循环

while循环:先判断后执行  至少执行0次

do-while循环:先执行后判断  至少执行1次

for循环:先判断后执行

for(参数初始化;条件判断;更新循环变量){

循环体

}

执行顺序:<1>参数初始化<2>条件判断<3>循环体<4>更新循环变量

<4>跳转语句

1.break

可跳出循环执行循环外面的语句

2.continue

跳出本次循环  continue后面的语句不执行,执行下一次循环。

16、函数

(1)函数特点:封装代码,代码的重用性强。

(2)函数是为完成某一功能的程序指令(语句)的集合,是执行特定任务的语句块。

(3)分类:自定义函数,系统函数(内置函数,包括预定义函数)。

(4)全局函数包括:

1.eval()将字符串数字转换成数字,可进行直接执行js代码;

2.isNaN()用来计算一个参数以确定它是否为非数字;

不是数字返回true,是数字返回false。

3.parseInt()/parseFloat()将数字字符串强制转化为一个数值;

4.isFinite()用来确定参数是否是一个有限数值.也就是说,如果该参数为非数字NaN,正无穷数,或负无穷数,则返回false,否则返回true;如果是字符串类型的数字,将会自动关转化为数字型;

5.escape函数/unescape()将字符串进行编码和解码​,这样就可以在所有的计算机上读取该字符串。

(5)函数定义

function 函数名(){

函数体;

}

函数名必须是唯一的!

(6)函数调用

1.函数名()在JS里写。

2.onclick=”函数名()”通过事件来触发调用函数

注意:如果局部变量不是先声明再赋值,就会默认为局部变量。

eg:var j = 5; 与  j = 5;的区别。

(7)作用域

1.全局作用域   2.局部作用域(函数作用域)

(8)DOM

(Document Object Model)文档对象模型

获取元素对象的方法:

document.getElementById(“id值”);

获取非form表单标签的内容:

元素对象.innerHTML;    (能识别标签)

设置非form表单标签的内容:

元素对象.innerHTML=内容;

获取form表单里的值:

元素对象.value;       (不能识别标签)

设置form表单里的值:

元素对象.value=值;

17、变量前置

所有变量会先设置为undefined,如果赋值才有值。

eg:var a=5,b=6;

if(a>b){var c =7;}   输出c是undefined

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

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,219评论 0 4
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,654评论 0 6
  • 不知道为什么大家都喜欢减重,太胖了确实是不太好的一件事,毕竟你还是身材适中比较好!下面说说减重的一些分享...
    鸿运当头168阅读 130评论 0 1
  • 今天从公司走路回家
    烟涩寒阅读 94评论 0 0
  • 序言:说说《武志红心理学》读后感的由来,周一的时候佐江哥给我发微信说:“冬晴,你和雪莉姐、艳琰她们建了一个心理学的...
    话说天晴了阅读 480评论 2 1