语法小结


/**
* Created by M.C on 2017/5/26.
*/ /*弹框*/
//var message = "Hello world";
//alert(message); /*变量的命名规则*/
/*
* 1.变量不能包含任何空格
* 2.变量只能包含英文单词,数字,美元符号$和下划线_
* 3.不能使用js中的关键字,但可以包含关键字
* 4.大小写敏感,rose和Rose是两个不同的变量
* 5.采用驼峰命名, 如果变量命中有多个单词,第一个单词的第一个字母小写,其他的单词的第一个字母都大写
* 5.用有意义的名称来描述变量
* */
var userName = "zhangsan";
var string_underscores = "下划线的变量";
document.write(userName + string_underscores); /*常见的数学运算符*/
// +
var a = 2 + 3;
// -
var b = 5 - 3;
// *
var c = 4 * 4;
// /
var d = 8 / 2;
// %
var e = 10 % 4;
document.write("<br>" + a + b + c + d + e); /*不常见的数学运算符*/
// ++
var num = 5;
var newNum = num++;
var newNum1 = ++num;
document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
/*上边代码的打印结果为:
* `num:7 newNum:5 newNum1:7`
* 说明:当++放到变量后边的时候,先返回再相加,当++放到变量的前边的时候,先相加再返回
* 这一规则同样适用于其他的语言
* */ // --
(function() {
var num = 5;
var newNum = num--;
var newNum1 = --num;
document.write("<br>" + "num:" + num + " newNum:" + newNum + " newNum1:" + newNum1);
/*上边代码的打印结果为:
* `num:3 newNum:5 newNum1:3`
* 说明:当--放到变量后边的时候,先返回再相减,当--放到变量的前边的时候,先相减再返回
* 这一规则同样适用于其他的语言
* */
})(); /*拼接字符串*/
(function() {
document.write("<br>"+ "Name is " + "MC" + "!");
document.write("<br>" + "2" + 2 + 2); // 当拼接的时候有字符串和数字,数字会被当做字符串处理
})(); /*提示框
* 提示框用于获取信息,比如给出一个问题,期望用户给出一个答案
* 使用prompt函数,该函数接受两个参数,第一参数表示问题,第二个参数表示默认的答案
* prompt函数的返回值就是答案,返回值的类型为字符串,如果用户没有输入,返回"",如果点击了取消,返回null
* */
//var backString = prompt("你多大了?", "23");
//document.write("<br>" + backString); /*数组的一些注意事项
* 1.当使用下标赋值的时候,用没有赋值的下标取值会得到undefined
* 2.使用pop()函数可以移除数组中最后一个元素
* 3.使用push函数可以添加大于1个元素到数组中
* 4.使用shift函数可以移除数组中第一个元素,和pop的顺序相反
* 5.使用unshift函数可以添加大于1个元素到数组中,会插入到数组的最前边,和push相反
* 6.splice函数可以插入数据和删除数据,在下边会详细演示
* 7.使用slice切割数据,并返回一个新的数组
* */
(function() {
var array = [];
array[0] = "a";
array[1] = "b";
array[2] = "c";
array[6] = "d";
document.write("<br>" + array);
document.write("<br>");
document.write(array[3]); // 添加一个元素
array.push("e");
// 添加多个元素
array.push("f", "g", "h");
document.write("<br>");
document.write(array); // 移除最后编一个元素
array.pop();
document.write("<br>");
document.write(array); // 使用shift删除第一个数据
array.shift();
document.write("<br>");
document.write(array); // 使用unshift在数组开头添加数据
array.unshift("1", "2");
document.write("<br>");
document.write(array); // 使用splice添加和删除数据
// splice第一个参数表示数据插入的位置,第二个参数表示删除原位置后边多少位数据
array.splice(2, 2, "G", "H", "J");
document.write("<br>");
document.write(array); // slice切割数组, 第一个参数表示切割开始的索引,第二个参数比较特殊,也表示一个索引,但最终结果只会切割刀该索引前边的数据
// 也就是说切割后的数据,并不会包含第二个参数索引指向的值
var newArray = array.slice(2, 3);
document.write("<br>");
document.write(newArray);
})(); /*大小写转换*/
(function() {
// 使用toLowerCase()转换成小写字符串
var str = "AbCdEf";
var lowerStr = str.toLowerCase();
document.write("<br>");
document.write("原字符创:" + str + " 转换成小写的字符串:" + lowerStr); // 使用toUpperCase()转换成大写字符串
var upperStr = str.toUpperCase();
document.write("<br>");
document.write("原字符创:" + str + " 转换成大写的字符串:" + upperStr);
})(); /*检测是不是有两个连续的空格*/
//(function() {
// var inputStr = prompt("请输入一些带空格的东东?")
// var inputStrLength = inputStr.length;
// for (var i = 0; i < inputStrLength; i++) {
// if (inputStr.slice(i, i + 2) === " ") {
// document.write("<br>");
// document.write("发现两个连续得字符");
// break;
// }
// }
//})(); /*查找字符串中是否存在某个字符串*/
(function() {
// 实现上边的功能有两种不同的方法
var str = "Your happy passer-by all knows, my distressed there is no place hides.";
// 查找is是否在上边的字符串之中,把结果保存在result中
var result = "";
var strLength = str.length;
for (var i = 0; i < strLength; i++) {
if (str.slice(i, i + 2) === "is") {
result += "使用slice发现了is,index:" + i;
break;
}
} var firstChar = str.indexOf("is");
if (firstChar != -1) {
result += "使用indexOf发现了is index:" + firstChar;
} if (result.length <= 0) {
result += "没有发现is";
} document.write("<br>");
document.write(result); // 注意:indexOf返回的是结果的第一个字符的位置,可以使用lastIndexOf获取符合条件的最后一个结果
})(); /*获取某个位置的字符*/
(function() {
// 同样有两种方式获取某个位置的字符
var str = "Hello world";
var firstChar = str.slice(0, 1);
// 使用charAt函数
var firstChar1 = str.charAt(0);
document.write("<br>");
document.write(firstChar + " " + firstChar1);
})(); /*替换字符串*/
(function() {
var str = "a b c d e f a a a";
var newStr = str.replace("a", "%");
document.write("<br>");
document.write("原字符串:" + str + " 替换后:" + newStr);
// 通过查看上边打印出的信息,只替换了第一次出现的字符串,那么必须告诉js要替换全部的字符串
// 注意:替换字符串会生成一个新的字符串,不会直接改变原有的字符串
var newStr1 = str.replace(/a/g, "%");
document.write("<br>");
document.write("原字符串:" + str + " 替换后:" + newStr1);
})(); /*取整*/
(function() {
// round四舍五入
var num1 = Math.round(0.499);
var num2 = Math.round(0.599);
document.write("<br>");
document.write("0.499round:" + num1 + " 0.599round:" + num2); // ceil向上取整
var num3 = Math.ceil(0.499);
var num4 = Math.ceil(0.599);
document.write("<br>");
document.write("0.499ceil:" + num3 + " 0.599ceil:" + num4); // floor向下取整
var num5 = Math.floor(0.499);
var num6 = Math.floor(0.599);
document.write("<br>");
document.write("0.499floor:" + num5 + " 0.599floor:" + num6);
})(); /*随机数*/
(function() {
// 假如想获取一个1~6的随机数
// 先获取js的一个随机数,取值范围为0.0000000000000000 ~ 0.9999999999999999 16位的小数
var bigDecimal = Math.random();
// 把上边获取的小数乘以6后加1,这是最常用的方法
var improvedNum = (bigDecimal * 6) + 1;
// 向下取整
var result = Math.floor(improvedNum); document.write("<br>");
document.write("随机数:" + bigDecimal + " 结果:" + result);
})(); /*字符串转数字*/
(function() {
// 如果是 + 号, 那么js会把数字当做字符串看待
var num = "20" + 20; // 2020
// 如果是 - * / 会把字符串当做数字看待
var num1 = "20" - 10; // 10
// 如果不是数字类型的字符串,NaN
var num2 = "20" - "dd"; document.write("<br>");
document.write(num + " " + num1 + " " + num2);
})(); /*字符数字互转*/
(function() {
// 可以使用parseInt函数转成整型
var num = parseInt("232");
// 可以使用parseFloat转成浮点型
var num1 = parseFloat("22.22");
// 使用toString函数转成字符串
var str = num1.toString(); document.write("<br>");
document.write(num + " " + num1 + " " + str);
})(); /*保留小数后几位*/
(function() {
// 保留小数2位
var a = 23.4655.toFixed(2);
// 注意:如果最后一位是5 比如23.255 那么调用toFixed(2)后的结果有可能是23.47,也有可能是23.46, 跟浏览器有关
// 为了解决这个问题,可以把最后一位的5替换成6来解决
var str = "34.55555";
if (str.charAt(str.length - 1) === "5") {
str = str.slice(0, str.length - 1) + "6";
} document.write("<br>");
document.write("a:" + a + " str: " + str);
})(); /*Date是js的一个对象*/
(function() {
var date = new Date();
document.write("<br>");
document.write(date.toString()); // 获取星期,注意:获取星期用的是getDay函数
var weeks = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
var week = date.getDay();
document.write("<br>");
document.write(weeks[week]); // 年
var year = date.getFullYear();
// 月
var month = date.getMonth();
// 日
var day = date.getDate();
// 时
var hour = date.getHours();
// 分
var minute = date.getMinutes();
// 秒
var second = date.getSeconds();
// 毫秒
var millisecond = date.getMilliseconds();
// 时间戳
var time = date.getTime();
document.write("<br>");
document.write(year + " " + month + " "+ day + " "+ hour + " "+ minute + " "+ second + " "+ millisecond + " "+ time + " ");
})(); /*指定日期*/
(function() {
var date = new Date();
var otherDate = new Date("June 30, 2030"); var dateTime = date.getTime();
var otherDateTime = otherDate.getTime(); var dis = (otherDateTime - dateTime) / (1000 * 60 * 60 * 24);
document.write("<br>");
document.write("相差的天数: " + Math.floor(dis));
})();

JavaScript小结的更多相关文章

  1. [Effective JavaScript 笔记] 第1章:让自己习惯javascript小结

    在这里整理一下,每条对应的提示 第1条:了解使用的js版本 确定应用程序支持的js的版本(浏览器也是应用程序噢) 确保使用的js特性是应用程序支持的(要不写了也运行不了) 总是在严格模式下编写和测试代 ...

  2. CSS与JavaScript小结

    一.css 全称Cascading Style Sheets,层叠样式表,具体的作用是美化页面,让页面中显得更加美观. 1.使用方式 在HTML页面中有三个地方可以使用,分别是标签内,头部标签中以及在 ...

  3. Javascript常见性能优化

    俗话说,时间就是生命,时间就是金钱,时间就是一切,人人都不想把时间白白浪费,一个网站,最重要的就是体验,而网站好不好最直观的感受就是这个网站打开速度快不快,卡不卡. 当打开一个购物网站卡出翔,慢的要死 ...

  4. Javascript本地存储小结

    前言 总括:详细讲述Cookie,LocalStorge,SesstionStorge的区别和用法. 人生如画,岁月如歌. 原文博客地址:Javascript本地存储小结 知乎专栏&& ...

  5. 《如何正确学习JavaScript》读后小结

    在segmentfault上读的一篇学习JavaScript路线的文章,做个小结. 一.简介.数据类型.表达式和操作符 (1)<JavaScript权威指南>前言1-2章&< ...

  6. 前端html、Javascript、CSS技术小结

    简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页 ...

  7. JavaScript实现Ajax小结

    置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<TCP的三次握手和四次挥手> 作者主页:myvin 博主QQ:851399101(点击QQ和博主发起临 ...

  8. DOM笔记(五):JavaScript的常见事件和Ajax小结

    一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 on ...

  9. JavaScript的常见事件和Ajax小结

    一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 on ...

随机推荐

  1. Visual Studio总是在重新生成项目?

    你是否曾经有过这种感觉:即使代码没有改变,Visual Studio也总是在重新生成项目? 我们可以生成一个项目,然后不做任何处理后再次生成,我们就可以看见--VS正在开始生成项目,而我的项目代码并没 ...

  2. 分析uboot中 make xxx_config过程

    make xxx_config实质上就是调用了 首先看MKCONFIG: [注意]SRCTREE=源文件下的目录 之后的语句: @$(MKCONFIG) $(@:_config=) arm arm92 ...

  3. 【三十一】thinkphp之安装、配置、模块化及URL模式

    一:安装与配置 1.获取ThinkPHP 下载地址:http://www.thinkphp.cn/down.html 2.入口文件 ThinkPHP采用单一入口模式对项目进行部署和访问,所以我们需要通 ...

  4. TCP/IP和UDP之间的区别(转载)

    在分析两者之间的区别之前,我们先搞清楚这两者的关系, TCP/IP协议簇  是一种网络控制协议,简单点说就是一种网络协议,我们网络中的计算机就是通过这套协议簇来进行数据通信的.这套协议簇里面包含了很多 ...

  5. Ubuntu下配置ShadowS + Chrome

    // 这是一篇导入进来的旧博客,可能有时效性问题. 题目和全文中的ShadowS指代以ShadowS开头名字的某工具,以预防文章被和谐.本机Ubuntu 14.04 LTS.在apt-get upda ...

  6. Java与算法之(13) - 二叉搜索树

    查找是指在一批记录中找出满足指定条件的某一记录的过程,例如在数组{ 8, 4, 12, 2, 6, 10, 14, 1, 3, 5, 7, 9, 11, 13, 15 }中查找数字15,实现代码很简单 ...

  7. Java DB 访问之 mybatis mapper xml 配置方式

    1 项目说明 项目采用 maven 组织 ,jdbc 唯一的依赖就是 mysql-connector-java pom 依赖如下: mysql 数据连接 : mysql-connector-java ...

  8. Codeforces 903D Almost Difference

    Codeforces 903D Almost Difference time limit per test 2 seconds memory limit per test 256 megabytes ...

  9. PostgreSQL=>递归查询

    PostgreSQL=>递归查询 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8232073.html 距上次博客更新刚好两周,这两周发生了很多,比如: ...

  10. 【NOI2014】魔法森林

    为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为 1…n1…n,边标号为1…m1…m.初始时小E同学在 11 号节点,隐 ...