使用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. Linux /proc/pid目录下文件的含义 (转)

    2013-01-16 16:10:36 分类: LINUX attr: 进程的属性 cmdline: 启动进程时执行的命令 cwd: 指向进程当前工作目录的软链 environ: 进程执行时使用的环境 ...

  2. MongoDB查询经典方式

    原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/08/03/2553803.html 1.  基本查询:    构造查询数据.    &g ...

  3. javascript-ajax之json学习笔记

    ajax什么时候解析json的时候用eval 1.如果是原生js实现的ajax,就需要eval转json对象 如果使用了类似jquery的js插件,里面有些方法是不需要转的,因为jquery已经帮你处 ...

  4. rac_安装软件时报版本号过高问题

    原创作品,出自 "深蓝的blog" 博客.欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  5. CQOI2016游记

    前情提要:我是丝薄,noip405的丝薄,所以这次省选特别虚 day0 上午随便切了两个题.背了下版. 下午看考场,环境还好.键盘也不错.评測姬非常好,就是人和人之间有点近,我回去买了耳塞(尽管并没实 ...

  6. unity3d 导入google play services插件工程

    最近在给unity工程尝试接入google play services插件,遇到了些问题,记录一下. 之前在做android插件的时候,都是自己创建一个android工程,把生成的.class文件打包 ...

  7. Json介绍以及解析Json

    首先,介绍一下Json字串,以下Json的介绍引用网上资料. 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应 ...

  8. bootstrap-table接合abp

    将ui-grid 换成了bootstrap-table, 在abp中如此结合 function ajaxRequest(params) { console.log(params.data); role ...

  9. ListView中pointToPosition()方法使用具体演示样例

    MainActivity例如以下: package cc.testpointtoposition; import java.util.ArrayList; import java.util.HashM ...

  10. Scrapy爬虫入门系列4抓取豆瓣Top250电影数据

    豆瓣有些电影页面需要登录才能查看. 目录 [隐藏]  1 创建工程 2 定义Item 3 编写爬虫(Spider) 4 存储数据 5 配置文件 6 艺搜参考 创建工程 scrapy startproj ...