语法小结


/**
* 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. 自学Aruba之路

    自学Aruba之路[第一回]:体系结构    1.1 自学Aruba1.1-Aruba体系结构-产品线    1.2 自学Aruba1.2-WLAN一些基本常识    1.3 自学Aruba1.3-W ...

  2. T-SQL逻辑查询处理

    引言 本文是对<Microsoft SQL SERVER 2008技术内幕 T-SQL查询>中的第一章做的阅读笔记,这一章的主要内容是分析SQL查询中各子句的执行顺序.如果你对此已了然于胸 ...

  3. linux 安装redis4.0.6

    1.进入/usr/local/src目录,下载redis # cd /usr/local/src# wget http://download.redis.io/releases/redis-4.0.6 ...

  4. ASP.NET 设计模式:设计模式和原则简述

    设计模式的概念 设计模式是高层次的.抽象的解决方案模板.可以将这些模式视为解决方案的蓝本而不是解决方案本身.通常是通过重构自己的代码并将问题泛化来实现设计模式. 软件设计中常见的模式大体分为三类: 创 ...

  5. C和Lua之间的相互调用

    前面的话 第一次接触Lua是因为Unity游戏中需要热更,但是一直没搞懂Lua是怎么嵌入到别的语言中执行的,如何互相调用的.这次打算好好了解一下C跟lua是如何交互的 那么如何使用Lua语言? lua ...

  6. 【转载】mysql主键的缺少导致备库hang

    最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤性极差,导致slave出现hang住,严重的影响了生产环境的 ...

  7. 【读书笔记】【深入理解ES6】#5-解构:使数据访问更便捷

    ES6为对象和数组都添加了解构功能,将数据解构打散的过程变得更简单,可以从打散后更小的部分中获取所需信息. 对象解构 let node = { type: "Identifier" ...

  8. Effective Java 第三版——19. 如果使用继承则设计,并文档说明,否则不该使用

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  9. dm-verity

    一.Device Mapper: dm-verity是内核子系统的Device Mapper中的一个子模块,所以在介绍dm-verity之前先要介绍一下Device  Mapper的基础知识. Dev ...

  10. LVS集群TUN模式实例(5)

    LVS集群TUN模式实例 1. 实验拓扑图 2. 实验环境 4台CentOS6.2的服务器. 类型 IP DR eth0:10.20.73.20  VIP eth0:0 10.20.73.30 RS ...