JS 笔记(一)
1. 页面引入
1) 标签直接引入脚本(推荐):
<script type="text/javascript"> 脚本语言 </script>
2) 标签引入脚本文件(推荐):
<script type="text/javascript“ src=“path/xxx.js”></script>
注意: </script>结束标签不能简写为:
<script type="text/javascript“ src=“path/xxx.js”/> <!-- 错误 -->
好处:可跨域加载js文件、多页面共享、减少网络流量
说明:引用脚本文件时,由于js的加载时“阻塞”模式,所以需要等到js全部加载完成以后才会继续向后执行,所以如果对于性能要求比较高时,可考虑把js加载放到页面的最后,提高用户体验。
3) 协议引入脚本:
<a href="javascript: alert('...')">单击我</a>
2. 基本语法
1)注释:
<script type="text/javascript">
//单行 /*
多行注释
*/
</script> <!--<script type="text/javascript">...</script>-->
<!--只能注释整个script标签,当某些浏览器不支持JavaScript的时候,把<script></script>标签中的内容注释掉,这样就不会显示在浏览器上了。用IE1.5可以测试出效果。现在基本可以不考虑这个问题了-->
2) 变量:变量名必须由字母、数字、_和$组成,不能以数字开头
3)运算符:
a) + - * / %
b) 三元运算符
4)选择判断语句
a) if else 、switch case
b) switch判断相等时,是 “全等于(===)”
5)循环语句 - 循环遍历数组
for(var i=0;i<10;i++){ … }
for(var i in arr) { … }//此处的i表示的是数组的下标或键值对集合的键,而不是值
注意:
1)使用forin循环可以遍历对象的所有属性
2)Forin循环其实遍历的还是key
6)转义符
a) 常见转义符: \t、\n、\’、\”、\\
b) 输出:c:\windows\microsoft\vs.txt → alert(‘c:\\windows\\microsoft\\vs.txt’);不能用@,@只在C#中有效。
c) 在用正则表达式的时候也会遇到转义符问题。(*)
7)消息框
a) alert,弹出消息窗口
b) confirm,确定、取消对话框,返回true或false
c) prompt
<script type="text/javascript">
if(confirm("确定要继续吗?"))
{
//从键盘接收第一个值,注意使用prompt得到的值的类型是string字符串
var num1 = prompt("请输入第一个", "0");//IE8阻止了,窗口弹出
var num2 = prompt("请输入第二个", "0"); //需要做类型转换才能计算值,不然会做为字符串连接
alert(parseInt(num1) + parseInt(num2));
}
else
{
alert("到此结束");
}
</script>
8)异常:try{ ... }catch(error){ ... }
function funTest() {
try {
var num1 = prompt("请输入一个数字", "0");
if (isNaN(num1)) {
throw new Error("请输入数字");
}
alert(num1);
} catch (e) {
alert(e.Message);
return 1;
} finally {
alert("finally");
return 2;
}
}
var num = funTest();
alert(num); //此处永远是2
//throw主要用于抛出自定义异常,开发者自定义的异常包含的异常信息可能会更多更详细。
JS 笔记(一)的更多相关文章
- Data Visualization and D3.js 笔记(1)
课程地址: https://classroom.udacity.com/courses/ud507 什么是数据可视化? 高效传达一个故事/概念,探索数据的pattern 通过颜色.尺寸.形式在视觉上表 ...
- js笔记-0
#js笔记-0 数组: indexOf方法: Array也可以通过indexOf()来搜索一个指定的元素的位置: var arr = [10, 20, '30', 'xyz']; arr.indexO ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
- 面向小白的JS笔记 - #Codecademy#学习笔记
前言 最初浏览过<JavaScript秘密花园>,前一段时间读过一点点<JavaScript语言精粹>和一点点<JavaScript高级程序设计>(一点点是指都只是 ...
- require.js笔记
笔记参考来源:阮一峰 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 1. 浏览器端的模块只能采用“异步加载”方式 = ...
- JS笔记 入门第四
小测试: 注意:取消所有的设定可以直接使用 document.getElementById("txt").removeAttribute("style"); 这 ...
- JS笔记 入门第二
输出内容 document.write(); alert("hello!"); alert(mynum); </script> 注:alert弹出消息对话框(包含一个确 ...
- Node.js笔记1
Node.js入门笔记 1. node -help 可以显示帮助信息2. node REPL 模式(Read-eval-print loop) 输入—求值—输出循环 直接在cmd输入node 可以进入 ...
- JS笔记 入门第一
WHY? 一.你知道,为什么JavaScript非常值得我们学习吗? 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现 ...
- 奇舞js笔记——第0课——如何写好原生js代码
摘要 1.好的代码职责要清晰,javscript不要用来操作样式: 2.API要设计的合理:通用性,适度的抽象(数据抽象,过程抽象),可扩展性: 3.效率问题:用好的.合适的算法(前端程序员要把自己当 ...
随机推荐
- public protect private. 草稿。
public protect private. 草稿. #include <iostream> #include <thread> #include <memory> ...
- JavaScript中的编码函数
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- 用Broadcast广播在activity之间、fragment之间、activity和fragment之间相互传数据
例如:A界面要收到B界面的更变信息 一.A界面注册广播 private static final String INTENT_BROADCAST = "android.intent.acti ...
- myeclipse下构建maven web项目
首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面 ...
- 自定义UI集成微信、QQ、微博分享功能
目前社会化分享是一个非常常见的功能,通过阅读官方文档可以进行对应平台的分享.在项目中原本有微信的分享,后来需要集成QQ和微博的分享,于是想着用ShareSDK,在使用的过程中发现ShareSDK中的w ...
- android Glide图片加载框架的初探
一.Glide图片加载框架的简介 谷歌2014年开发者论坛会上介绍的图片加载框架,它让我们在处理不管是网路下载的图片还是本地的图片,减轻了很多工作量, 二.开发步骤: 1.添加链接库 compile ...
- this
JavaScript 中的 this ! 2016-12-28 vvv阿城 JavaScript 转自 https://qiutc.me/post/this-this-this-in-javascr ...
- 组件嵌套+Mixin函数demo
非DOM属性:1.dangerouslysetInnerHTML(xxs跨站攻击) 2.key 3.ref 编写组件嵌套 <!DOCTYPE html><html> < ...
- 网站第三方登陆(一) QQ登陆
QQ 登陆是指,通过qq的用户名和密码,登录网站,不需要注册,网站的用户名和密码.如下图 一旦你授权了,就可以进入网站了,要实现这个效果 1.去qq互联平台(http://connect.qq.com ...
- Oracle中查看所有表和字段以及表注释.字段注释
获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 sele ...