js随堂初体验(一)

Js初体验(-)

1 js的基础知识

A web三大标准:1 html:结构标准    2 css:表现标准  3 javascript:行为标准

B js三种书写方式:1 行内js:onclick = “alert=(‘AAAAA’)”

2 内嵌js:在html页面中通过一对script标签,js代码写在script标签中

3 外联js:在script标签中用src属性来引入外部的js文件,但是在这堆script标签中不能写js代码,他的作用只是只是引入外联的js代码

C js初接触的简单五句话:1 alert(“”)  弹出一个警示框

2 console.log(“”) 在浏览器console面板显示内容(多用来检查或者找bug)

3 document.write(“” ) 在页面中显示内容,在js中只要是用双引号或者是单引号引起来的内容都是字符串

4 prompt(“”)  弹出一个文本框,提示用户输入信息

5 confirm(“”)  弹出一个选择框

D js的变量:

1直接变量:直接拿过来使用的数据值,  直接量有:字符串,数字

2 变量

1 变量的声明:关键词:var 在内存开辟一片空间 如 var name = ‘jack’

2 变量的赋值:name = ‘’  在空间存入数据

3 变量的定义:包含变量的声明和赋值,推荐使用变量的定义  注意: = 号在js中是赋值符

3 变量的命名规则:

1.变量名必须以字母、下划线_、$开头

2.变量的名字中包含数字,字母(a-z  A-Z) ,_ ,$

3.js中变量的名字严格区分大小写

4.变量的名称不能使用js中的关键字和保留字

5.不能以数字开头

建议:变量的命名尽可能有意义,命名使用驼峰命名法

4 +的作用:

1.连接符的作用  只要加号的一边是字符串,那么加号就是连接符的作用

2.数学运算符的作用  加号两边都是数字,那么加号就是运算符的作用

E 转义符的使用:

转义符:用来表示一些特殊符号,反斜杠\

常用的转义:

常用:

\n:换行

\t:缩进

\b:退格

F js’中的数据类型:

Js中的数据类型:js是动态弱类型的脚本语言

简单的数据类型:

字符串:string

数字类型;number

空:null

空:undefined   表示未定义

Boolean:布尔类型  true flase

复杂数据类型:数组,函数,对象,object。。。。。

G js中数据类型的检测:typeof  console.log(typeof 要检测的数据)

注意:只要用户输入的内容都是字符串类型的数据

H js中的算术运算符:

1 二元运算符  需要两个操作数参与的运算,+ - * / %(取余)

2 一元运算符

1 ++:分为前++和后++     前++:先在原来的操作数上先+1,然后再参与运算

后++:先拿原来的操作数,参与运算,然后再+1

2 --:分为前--和后--         前--:现在原来的操作数上先-1,然后再参与运算

后--:先拿原来的操作数,参与运算,然后再-1

3 复合运算符:+= -= *=  /= %=

I js中的关系表达式以及逻辑运算符:1关系表达式  用关系运算符链接的表达式就是关系表达式

注意:关系表达式的结果都是一个布尔类型的值

2 逻辑运算符: 逻辑与:&&  逻辑或:||  逻辑非:!

2 js数据类型的转换

A 数据类型的转换:

                     1 数据类型转换成number类型

1 隐式转换:通过 + - * / %    将undefined转换成成number类型得到的结果是NaN,NaN表示:not a number

不是一个数字。NaN也是number类型中的一个值。他是用来表示数字的一种非正常状

态   在js中对不能转换成number类型的值  都是NaN 用来表示数字的一种非正常

状态,为了不让程序报错、

注意:+号要写在前面

2 显式转换(强制类型转换)Number();parseInt();parseFloat()

Number()转换的特点:

1.如果是数字类型的字符串都能转换成number类型

2.对于true、false、null都能正常转换成数字类型

3.undefined转换成number类型都不能正常转换成数字类型,得到结果是NaN

4.对不能转换成number类型都得结果都是NaN。

对于parseInt()转number类型的特点:

1.对于数字类型的字符串都能转换成number类型

2.对于null、true、false、undefined不能正常转换成number类型,最后得到的都是NaN

3.对于带有数字的字符串,如果前面是数字,使用parseInt转换的时候只转换前面的数字部分,对于后面不能转换的部分直接丢弃;如果是字母在前面  直接全部不能转换,的到的是NaN

4.对于是小数的,只取前面的整数部分,后面的都丢弃

注意:取整数部分不是四舍五入,而是直接取整数部分

parseFloat()转换成number类型的时候和parseInt是一样的,只不过对于小数,parseFloat能取到小数部分

2 将数据转换成string类型

1 隐式转换 var num = 20;

var str = num + "";

2 显式转换 toString(); String();

var num = 100;

var res = num.toString() ;可以在toString()在小括号中加入一个参数值。可以将其转成对应的进制的值

注意:null和undefined不能使用toString()方法,转成数据类型

String()可以直接将null和undefined转成string     console.log(String(null/undefine))

3 数据转换成Boolean类型

1 隐式转换   !!  var num = 100;

var res = !!num;

注意:能转换成false的有 :0,null,undefined, "" ,NaN;

2 显式转换   Boolean()

非0的数转换成布尔类型都是true

B 程序的结构:

                 1 顺序结构:程序从上外下按顺序执行

2 选择结构:1 if结构     if(判断条件){    判断条件一般都是关系表达式或者逻辑表达式

执行代码}

执行过程:当程序运行到if的时候,先判断小括号中的判断条件,如果判断条件成立(返回true),那么执行后面大括号中的执行代码,如果条件不成立(返回false),那么直接跳过大括号,执行下面的代码;

2 if-else结构        if(判断条件){

执行代码1}else{执行代码2

}

执行过程:当程序执行到if的时候,先判断小括号中的判断条件,如果判断条件成立(返回一个true),这个时候,执行后面大括号中的执行条件1,如果判断条件不成立(返回false),这个时候执行else后面的大括号中的执行代码2

3 分支结构:    1    if-else if          if(判断语句){

执行语句1}else if(判断语句2){

执行语句2}else{执行语句3

}

执行过程:当程序运行if的时候,先判断判断语句

1,如果成立,则执行语句1,如果不成立,那么继续判断判断条件

2,如果成立,则执行执行语句2,如果不成立继续判断判断条件

3,以此类推

2 switch    switch(变量或者固定的值){

case 条件1:

执行语句1

break;

case 条件2:

执行语句2

break;

.....

default

执行语句。。。

break;

}

执行过程:当程序运行到switch的时候,先和switch后面小括号的值,和case中的条件去匹配,匹配上哪一个case就执行哪一个case下面的执行语句。如果都没有匹配上,那么久执行default中的语句

注意:if-else if和switch-case 区别      if-else if 一般使用来区间判断

switch-case 一般使用定值判断

4 循环结构

1 While

while(循环条件){循环条件一般都是关系表达式或者是循环表达式或者是布尔类型的值

循环体;(重复中的这件事件)

改变循环的条件

}

执行过程:当程序运行到while的时候,先判断循环条件,如果循环条件返回一个true,则执行大括号中的循环体,如果循环条件是false,直接跳过大括号,循环体不会被执行

2 do while

do{

循环体;

改变循环的条件;

}while(循环条件)

3 for

for(表达式1;表达式2;表达式3){

循环体

}

表达式1:一般都是用来给变量赋初值

表达式2:循环判断条件   一般都是关系表达式

表达式3:改变循环条件

C 三元表达式:

表达式1? 表达式2: 表达式3;表达式1:一般都是关系表达式或者是逻辑表达式或者是boolean类型的值

gender == ‘男‘ ? console.log(1):console.log(0);

D 短路运算:     短路运算符:&&  ||

&&:短路运算:找假    &&两边的值,先判断第一个,如果第一个值是true(会默认有一个隐式转换)则直接返回第二个

值,不管第二个值是什么。如果第一个值转换后是flase。直接返回第一个值,不需要再去理第二个值是什么

||短路运算符:找真 如果第一个值转换成布尔类型之后,如果是true,直接返回第一个值,不需要理第二个值是什么。

如果第一个值转换之后是false,那么直接返回第二个值。

注意:

1.如果两边都是关系表达式或者逻辑表达式或者是布尔类型的值得时候,&&和||就是起到逻辑运算符的作用

2.如果&&和||两边是固定的值或者是变量或者是对象,这个时候&&就是起到短路运算的作用

E 关于breakcontinue的使用:

                                             1 break的使用 终止当前整个循环,循环不再继续执行,并且break后面的代码不执行

2 continue      用来终止当次循环,进入下一次循环,如果循环中遇到continue跳出当次循环,

continue后面的代码都不在执行

3 continue和break区别:

continue和break的相同点:都可以终止代码,这两个后面的代码都不执行

(对于当前的循环)

continue和break的区别

1 continue终止当次循环,循环还在继续,进入下一次循环

2 break直接终止整个循环,循环结束不再继续进行

原文地址:https://www.cnblogs.com/lixiaolong1995/p/9538410.html

时间: 2024-10-04 10:57:24

js随堂初体验(一)的相关文章

requirejs实验002. r.js合并文件. 初体验.

requirejs的官网上有介绍如何使用r.js合并,压缩文件的.http://requirejs.org/docs/optimization.html https://github.com/jrburke/r.js/blob/master/build/example.build.js 这里罗列了所有的优化参数. 我是在win7上使用r.js的. 安装使用的是npm ->  npm install -g requirejs  安装在全局,更合适,方便在任何地方使用. windows上使用r.js

我是如何初体验uglifyjs压缩JS的

一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基于node的,还据说比Google Closure Compiler更带感,哦?激起了我的好奇心.百之谷之,哟,相关的介绍还不少.然后折腾了个把小时,基本上知道了是个怎么回事. 我觉得吧,还是有些用的,即使是不是从事node开发的人,抽个小空,share之,于是就有了本文.人总有浮躁的时候,我也不例

Node.js 网页瘸腿爬虫初体验

延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require('fs'); // 创建一个将流数据写入文件的WriteStream对象 var outstream=fs.createWriteStream('./1.txt'); /

Knockout.js初体验

前不久在网上看到一个轻量级MVVM js类库叫Knockout.js,觉得很好奇,搜了一下Knockout.js相关资料,也初体验了一下,顿时感觉这个框架的设计很有意思.接下来就搞清楚什么是Knockout.js Knockout.js有4个重要的概念:(一定要牢记) 1.声明绑定:使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上. 2.UI界面自动刷新:当您的模型状态(model state)改变时,您的UI界面将自动更新. 3.依赖跟踪:为转变和联合数据,在你的模型数据之

vue.js 初体验

Vue.js是什么? 一个构建数据驱动的web界面的库.他不是一个全能框架,技术上重点集中在MVVM中的ViewModel层. Vue.js特点? 轻巧.高性能.可组件化 官网地址:http://cn.vuejs.org/ Vue.js初体验 引入Vue.js独立版本, 至官网下载独立版本.根据提示,开发时选择开发版本. 直接引入Vue.js到静态页面中,从数据绑定开始编写DOM部分和js部分 <div id="app"> {{message}} </div>

0086 初识JavaScript:是什么、浏览器执行 JS(渲染引擎、解释引擎)、组成、初体验

3.1 JavaScript 是什么 JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思) 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行 现在也可以基于 Node.js 技术进行服务器端编程 3.2 JavaScript的作用 表单动态校验(密码强度检测) ( JS 产生最初的目的 ) 网页特效 服务端开发(Node.js) 桌面程序(Electron) App(Cordova) 控制硬件-物联网(R

AngularJS路由系列(3)-- UI-Router初体验

本系列探寻AngularJS的路由机制,在WebStorm下开发. AngularJS路由系列包括: 1.AngularJS路由系列(1)--基本路由配置2.AngularJS路由系列(2)--刷新.查看路由,路由事件和URL格式,获取路由参数,路由的Resolve3.AngularJS路由系列(3)-- UI-Router初体验4.AngularJS路由系列(4)-- UI-Router的$state服务.路由事件.获取路由参数5.AngularJS路由系列(5)-- UI-Router的路由

leaflet开源地图库源码阅读笔记(一)——简介&amp;Demo初体验(by vczero)

一.简介 电子地图已经在O2O.生活服务.出行等领域布局,传统的GIS也孕育着互联网基因.传统GIS的图商有ESRI(Arc系列).四维.高德.超图.中地等等.在web互联网领域,百度和高德较为出色.但是开放源代码都远远做的不够,相比而言国外开源较多且丰富,最近认真研读了openlayers2/3和leaflet的源码,收获颇多,不仅加强对浏览器兼容性.HTML5.CSS3等基础,还增强了GIS的基础.本人现在也在一家互联网公司做js api的研发,因此,需要不断地吸取开源代码的营养. leaf

SignalR初体验

简介 ASP .NET SignalR[1]  是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以互相通知消息及调用方法,当然这是实时操作的. 1.环境部署 首先新建一个mvc项目,通过Nuget获取相应SignalR包.使用Nuget的命令模式,直接输入 Install-Package Microsoft.AspNet.SignalR -Version 1.0.1 由于最新版本需要Net Fr