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.效率问题:用好的.合适的算法(前端程序员要把自己当 ...
随机推荐
- 【转】Python3.x和Python2.x的区别
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- ECMAScript数组常用
var arr = [22, 33, 44, 55, 66, 77, 88, 99]; //every 全部结果为true 则返回true var e = arr.every(function (m) ...
- 浅谈C#Socket
好不容易把socket通信搞懂一点,比较喜欢做笔记,嘿嘿~ 希望共同学习,共同进步! socket通信是C#中非常基础的一个知识点,我这里用到的是基于Tcp协议的socket通信.Tcp会有三次握手连 ...
- HTML5 十大新特性(六)——地理定位
简单地用一句话概括就是,使用js获取浏览器当前所在的地理坐标,实现LBS(Location Based Service,基于定位的服务). 下面写一下它的基本调用: if(navigator.geol ...
- 冰球项目日志4-yjw
小组讨论 我们组编程主要分成三个模块,各自负责自己的编程与测试. 杨静梧:确定击球算法编程.输入:冰球位置,速度大小方向:输出:撞击时冰球中心位置. 曹迦勒:确定击球手速度,位置.输入:撞击时冰球中心 ...
- Oracle笔记二
一.数据库语言分类 二.DML之数据插入 把一个表中的数据查询出来插入另外一个表中. create table student(id number,name varchar2(20),age num ...
- HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). - CatcherX 2014-03-11 11:03 27628人阅读 评论(2) 收藏 举报 分类 ...
- tensorflow版的bvlc模型
研究相关的图片分类,偶然看到bvlc模型,但是没有tensorflow版本的,所以将caffe版本的改成了tensorflow的: 关于模型这个图: 下面贴出通用模板: from __future__ ...
- #pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- 开启LOH压缩?
我们知道.NET CLR的GC堆中有一种特殊的堆,它专门存放超过85000byte的对象(详见这里),这就是大对象堆(LOH). 在.NET Framework 4.5.1之前,微软并没有提供对LOH ...