码迷,mamicode.com
首页 > 其他好文 > 详细

1115课堂小结

时间:2019-11-15 22:24:58      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:匿名   箭头   脚本   流程控制   div   nts   body   集合   页面   

JavaScript

是前端的一门编程语言

注释

// 单行注释
/*
    多行注释1
    多行注释2
*/

js的引入方式

1.script标签内部直接书写
<script>
    alert(123)
</script>

2.通过script标签src书写,引入外部js文件
<script src = 'js.js'></script>

js里面的变量

在js中声明变量需要使用关键字

var 声明的是全局有效

let 只在局部有效

js变量的命名规范

  1. 数字 字母 下划线 $
  2. 不能用关键字作为变量名
  3. 推荐使用驼峰体命名

js代码默认是以分号作为结束符

js常量

const 定义常量,不能被修改

js中的数据类型

数值类型 number

? NaN 表示不是一个数字

字符类型String

? 常用的方法:

方法 说明
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat(value, ...) 拼接
.indexOf(substring, start) 子序列位置
.substring(from, to) 根据索引获取子序列
.slice(start, end) 切片
.toLowerCase() 小写
.toUpperCase() 大写
.split(delimiter, limit) 分割

string.slice(start,stop)和string.substring(start,stop)的区别

两者的相同点:
如果start等于end,返回空字符串
如果stop参数省略,则取到字符串末
如果某个参数超过string的长度,这个参数会被替换为string的长度

substirng()的特点:
如果 start > stop ,start和stop将被交换
如果参数是负数或者不是数字,将会被0替换

slice()的特点:
如果 start > stop 不会交换两者
如果start小于0,则切割从字符串末尾往前数的第abs(start)个的字符开始(包括该位置的字符)
如果stop小于0,则切割在从字符串末尾往前数的第abs(stop)个字符结束(不包含该位置字符)

对象 object

? js中所有的事物都是对象,对象只是带有属性和方法的特殊数据类型

? 数组的常用方法:

方法 说明
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头部插入元素
.shift() 头部移除元素
.slice(start, end) 切片
.reverse() 反转
.join(seq) 将数组元素连接成字符串
.concat(val, ...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除元素,并向数组添加新元素。
.map() 返回一个数组元素调用函数处理后的值的新数组

布尔值 Boolean

? 区别于python ,true和false都是小写

undefined

symbol 表示独一无二的值

运算符

算数运算符

+ - * / % ++ --

x++会先赋值再进行自增1运算,而++x会先进行自增运算再赋值!

比较运算符

> >= < <= != == === !==

== 弱等于,会自动转换数据类型

=== 强等于 不会自动转换

逻辑运算符

&& || !

赋值运算符

= += -= *= /=

三元运算符

x=1
y=2
res = x>y ? 10 : 20
如果条件成立返回?后面的,否则返回:后面的

流程控制

if-else

var a = 10;
if (a > 5){
  console.log("yes");
}else {
  console.log("no");
}

if-else else-if

var a = 10;
if (a > 5){
  console.log("a > 5");
}else if (a < 5) {
  console.log("a < 5");
}else {
  console.log("a = 5");
}

switch

var day = new Date().getDay();
switch (day) {
  case 0:
  console.log("Sunday");
  break;
  case 1:
  console.log("Monday");
  break;
default:
  console.log("...")
}

switch中的case子句通常会加break语句,否则程序会继续执行后续case中的语句

for

for (var i = 0 ;i<10;i++){
    console.log(i)
}

while

var i = 0;
while (i < 10) {
  console.log(i);
  i++;
}

函数

无参函数

function f1() {
  console.log("Hello world!");
}

有参函数

function f2(a, b) {
  console.log(arguments);  // 内置的arguments对象
  console.log(arguments.length);
  console.log(a, b);
}

匿名函数

var sum = function(a, b){
  return a + b;
}
sum(1, 2);

立即执行函数

// 立即执行函数 书写立即执行的函数,首先先写两个括号()()这样防止书写混乱
(function(a, b){
  return a + b;
})(1, 2);

箭头函数

var f = v => v;
// 等同于
var f = function(v){
  return v;
}

函数中的arguments参数

相当于将传入的参数全部包含

函数的全局变量和局部变量

局部变量

在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。

全局变量:

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

变量生存周期:

JavaScript变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。

自定义对象

本质上就是键值对的集合,和python的字典一样,但是js中的对象是通过.属性来得到值的

Date对象

创建date对象

var d1 = new Date();
console.log(d1.toLocaleString());
/*date括号内可以不加参数,
或者参数为日期字符串,
或者为毫秒数,
或者是年月日小时分钟秒毫秒*/

date对象的方法

var d = new Date(); 
//getDate()                 获取日
//getDay ()                 获取星期
//getMonth ()               获取月(0-11)
//getFullYear ()            获取完整年份
//getYear ()                获取年
//getHours ()               获取小时
//getMinutes ()             获取分钟
//getSeconds ()             获取秒
//getMilliseconds ()        获取毫秒
//getTime ()                返回累计毫秒数(从1970/1/1午夜)

json对象

json字符串转换成对象

var obj = JSON.parse(str1)

对象转换成json对象

var str = JSON.stringify(obj)

RegExp对象

定义正则表达式的两种方式

// 定义正则表达式两种方式
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;

// 正则校验数据
reg1.test('jason666')
reg2.test('jason666')

/*第一个注意事项,正则表达式中不能有空格*/ 

// 全局匹配
var s1 = 'egondsb dsb dsb';
s1.match(/s/)
s1.match(/s/g)
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/g
reg2.test('egondsb');
reg2.test('egondsb');
reg2.lastIndex;
/*第二个注意事项,全局匹配时有一个lastIndex属性*/

// 校验时不传参数
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/
reg2.test();
reg2.test(undefined);

var reg3 = /undefined/;
reg3.test();

RegExp

1115课堂小结

标签:匿名   箭头   脚本   流程控制   div   nts   body   集合   页面   

原文地址:https://www.cnblogs.com/faye12/p/11869627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!