使用js的三种方式
1、HTML标签内嵌js
<button onclick="javascript:alert(真点啊)">有本事点我</button>
不提倡使用
2、HTML页面中直接使用js
<script type="text/javascript">
js代码
</script>
3、引用外部js文件
<script language="JavaScript" src="js文件路径">
 
</script>
【注意事项】
1、页面中js代码和引用js代码可以嵌入到HTML页面任何位置。但是,位置不同会影响到js代码的执行顺序(script标签在body前面,会在页面加载前执行js代码)
2、页面中js代码,使用<script language="JavaScript" src="js文件路径"></script>
3、引用外部js文件的script标签必须成对出现,且标签内部不能有任何代码
 
【js中的变量】
* 1、js中的变量声明的写法:
* var width = 10;//使用var声明的变量,只在当前函数作用域生效
* width = 10;//不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* var a,b,c=1;同时声明多个变量,变量之间用英文逗号分隔。但赋值需要单独赋,例如上式中只有c赋值为1,ab为undefined(未定义说明这是一个变量)
* 【声明变量注意事项】
* ①js所有变量类型声明,均使用var关键字。变量的具体数据类型,取决于给变量赋值的执行
* ②同一变量可以在多次不同赋值时,修改变量的数据类型
* var width = 10;//width 位整形变量
* width="哈哈";//width被改为字符串类型
* ③使用var声明的变量,只在当前函数作用域生效,不使用var,直接赋值生成的变量,默认为全局变量,整个js文件有效
* ④同一变量名可以多次用var声明,但是并没有任何含义,也不会报错,第二次之后的声明只会被理解为赋值
* 2、变量的命名规范
* ①变量名只能由字母数字下划线和$符号组成
* ②开头不能是数字
* ③变量区分大写小写,大写字母与小写字母为不同变量
*
* 3、变量名命名要符合驼峰法则:
* 变量开头为小写,之后每个单词首字母大写;
* 4、JS中的变量的数据类型
* undefned:未定义,用var声明的变量没有进行初始化赋值 var a;
* null:代表特殊的变量类型,表示空的引用。例如:空的对象,数组,
* boolean;真假,可选值ture/false
* number:数值类型。可以是小数,也可以是整数
* strig:字符串类型。用""或''包裹的内容,成为字符串
* 5、常用的数值函数
* ①isNaN:用于判断一个变量或常量是否为NaN(非数值)
* 使用isNaN,会尝试使用Number()函数进行转换,如果能转换为数字,则不是非数值,结果为false
* "111"纯数字字符串,false "" 空字符串, false "1a" 包含其他字符 ture
* ture/false布尔类型,false
* ②Number()将其他类型转化为数值类型
* 【字符串类型转数值】
* >>>字符串为纯数字字符串,转为对应数字
* >>>字符串为空字符串时转为0
* >>>字符串包含其他非数字字符时,不能转换 "11a"->NAN
* 【boolean】
* true->1 fales->0
* 【null 和 undefined】
* null ->0 undefined->NAN
* 【object】
* 先调用valueof方法,确定函数是否有返回值,再根据上述情况判断。
*/
 
/*
* document.write()
* 输出语句,将write()中的内容打印在浏览器上
*
*
* 使用注意:除变量、常量以外的任何内容,打印室必须放到""中
* document.write("右手中纸牌:"+right+"<br />"+"<br />");
* 打印的内容同时由多部分组成,之间用+连接
*
* parseINT:将字符串转换为数值
* >>>空字符串,不能转,结果NAN
* >>>纯数值字符串,能转。"123"->123 "123.5"->123(小数转换时直接抹掉小数,不四舍五入)
* >>>包含其他字符的字符串。会截取第一个非数值字符的前面部分 "123a456"->123 "a123b456"->NAN
* parseint只能转string类型,Boolean/null/undefined 均为NaN
*
* parsefloat:将字符串转为数字:使用方式同parseint 但是当转换小数字符串时,保留小数点,转换整数字符串时,保留整数。
*
*
* typeof用来检测变量数据类型
* 未定义>undefined 字符串->string true/false->boolean
* 数值->number 对象/null->object 函数->function
 
 
算术运算
+ 加、- 减、* 乘、 / 除、 % 取余、++ 自增、-- 自减
+:有两种作用,链接字符串/加法运算;当+两边均为数字时,进行加法运算,当+两边有任意一边为字符串时,进行字符串连接,连接之后的结果仍为字符串
++:自加运算符,将变量在原有基础上加一
--:自减运算符,将变量在原有基础上减一
 
赋值运算
=赋值 += -= *= /= %=
 
+=:a+=5;相当于a=a+5;但是,前者的执行效率要比后者快
关系运算
==等于、===严格等于 !=不等于、>、<、>=、<=
 
===:严格等于:类型不同,false;类型相同,再进行下一步判断;
==:等于,在类型相同时,同===,在类型不同时,尝试将等式两边用number函数转为数字再判断;
null==undefined√ null===undefined×
 
条件运算符(多目运算)
a>b?true:false
 
可以多层嵌套
有两个关键符号?和:
当问号前面的部分运算结果为true时,执行:前面的代码,当问号前面的部分运算结果为false时,执行:后面的代码
 
逻辑运算符
&&与、||或、!非
 
 
[运算符优先级]
()
! ++ --
% / *
+ -
> < >= <=
== !=
&&
||
各种赋值 = += *= /= %=
 
*/
 
/*【n++与++n】
* n++先使用n的值计算,再把n+1
* ++n先把n的值加一,然后再用n+1之后的值计算;
* 相同点:不论n++还是++n在执行完代码后均会把n加一
 
注意:
2、if()中的表达式,运算之后的结果为:
①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
3、else结构可以根据条件省略;
 
JS中的循环结构
 
【循环结构的步骤】
* ①声明循环变量
* ②判断循环条件
* ③执行循环体
* ④更新循环变量
*
* 【JS循环条件支持的数据类型】
* ①Boolean: true真 false假
②String:非空字符串为真,空为假
③Null/NaN/Undefined:全为假
④Object:全为真
⑤number:0为假,一切非0均为真
 
var n = 1;//声明循环变量
while (n<=10){//判断循环条件
document.write("打印<br/>");//执行循环体
n+=2;//更新循环变量
}
 
 
do while循环特点,先执行后判断,至少执行一次
 
【for循环】
1、for循环有三个表达式:①定义循环变量②判断循环条件③更新循环变量‘三个表达式均可省略,两个;缺一不可。
2、for循环特点:先判断再执行
3、for循环三个表达式之间均可以由多部分组成,之间用逗号分隔,但是第二部分判断条件用&&连接,最终结果需要为真/假
 
 
 
函数

[函数的声明及调用]

1、>>>函数声明的格式:
function 函数名(参数1,参数2,……){
// 函数体
return 结果;
}

>>>函数调用的格式:
直接调用:函数名(参数1的值,参数2的值,……);
事件调用:事件名=函数名();

2、函数声明的几点强调:
① 函数名的声明,必须符合小驼峰法则(首字母小写,之后每个单词首字母大写);
② 参数列表,可以有参数,可以无参数。分别称为有参函数,无参函数;
③ 声明函数时的参数列表,称为“形参列表”(变量的名);
调用函数时的参数列表,称为“实参列表”(变量的值);
函数中,实际有效的参数取决于实参的赋值,未被赋值的形参,将为Undefined;
④ 函数如果需要返回值,可用return返回结果。
调用函数时,使用var 变量名=函数名();的方式,接受返回结果;
如果函数没有返回值,则接受的结果为Undefined。

⑤ 函数中变量的作用域:
在函数中,使用var声明的变量,默认为函数局部变量,只在函数内容能用;
不用var声明的变量,默认为全局变量(函数中的全局变量,必须在函数调用后,才能使用)。
函数的形参列表,为函数局部变量,只在函数内部能用;

⑥ 函数声明与函数调用,没有先后之分。即,调用语句可写在声明语句之前。

JS操作BOM

重点【window对象的常用方法】
* >>>window对象中所有方法均可以省略前面的window. 比如close();
* 1、prompt:弹窗接受用户输入:
* 2、alert:弹窗提示
* 3、confirm:带有确认取消按钮的提示框
* 4、close:关闭当前浏览器选项卡
* 5、open:重新打开一个窗口
* 6、settimeout设置延时执行
* 7、setinterval:设置定时器,循环每隔N个毫秒数执行一次
* 两个参数:需要执行的function / 毫秒数
*
* 8、cleartimeout:清除延时
* 9、clearinterval:清除定时器
* 传入参数:调用setInterval时返回一个ID,通过变量接收ID,传入clearInterval;

 
 
 
 
 

JS基础知识简介的更多相关文章

  1. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  2. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  3. Node.js基础知识

    Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...

  4. 网站开发进阶(十五)JS基础知识充电站

    JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...

  5. SpringCloud(1) 架构演进和基础知识简介

    一.传统架构演进到分布式架构 简介:讲解单机应用和分布式应用架构演进基础知识 (画图) 高可用 LVS+keepalive 1.单体应用:开发速度慢.启动时间长.依赖庞大.等等 2.微服务:易开发.理 ...

  6. NodeJs>------->>第三章:Node.js基础知识

    第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> ...

  7. JS基础知识笔记

    2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...

  8. Vue基础知识简介

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  9. js基础知识--BOM

    之前说过,在js的 运行环境为浏览器时,js就主要有三部分组成: ECMAScript核心语法.BOM.DOM.今天就和大家详细说一下BOM的一些基础知识. BOM BOM通常被称为浏览器对象模型,主 ...

随机推荐

  1. sql server 循环

    declare @i int declare @a int declare @b int set @i=0 while(@i<=20) begin set @a=@i*1000+1; set @ ...

  2. Spring核心项目及微服务架构方向

    spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作 ...

  3. Android Shape 详解

    1 http://blog.csdn.net/feng88724/article/details/6398193 2 <shape xmlns:android="http://sche ...

  4. ajax请求web容器控制超时

    1.项目用到超时控制,针对ajax请求超时,可以参照如下解决方案 tomcat容器 web.xml 中配置 <session-config> <session-timeout> ...

  5. 基于Linux的智能家居的设计(5)

    4  软件设计 软件设计部分主要包含uboot移植.内核编译.系统移植.设备驱动编程.应用程序编程(QT编程.mysql数据库编程.控制系统编程).各个模块的功能函数(部分是在windows以下的IA ...

  6. ucosii任务切换OS_TASK_SW()

    stm32F103中任务切换定义 //任务切换宏,由汇编实现. #define OS_TASK_SW() OSCtxSw() os_cpu_a.asm中任务切换函数的定义 NVIC_INT_CTRL ...

  7. Hive 差集运算

    差集定义:一般地,设A,B是两个集合,由所有属于A且不属于B的元素组成的集合,叫做集合A减集合B(或集合A与集合B之差). 类似地,对于集合A,B,我们把集合{x/x∈A,且x¢B}叫做A与B的差集, ...

  8. web 图片上传实现本地预览

    在说上传之前先说说如何替换or美化浏览器自带的简陋上传按钮(自定义自己的上传按钮 如:img): 1.将自定义上传按钮上方添加 input file 框,实现input实现透明处理. 2.对自定义上传 ...

  9. vivado与modelsim的联合仿真(一)

    vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...

  10. 一些I2S的基础概念

    在数字音频Datasheet中,我们经常看到256FS,384FS,32kHz,44.1kHz MCLK等概念.一般在数字音频芯片用3个pin作为通讯接口:BCLK,ADCLRC,DOUT.现在做个总 ...