JS中的语句要以分号 ;  为结束符.

JS语言基础:

  1, JS 的变量名可以使用 下划线, 数字, 字母, $ 组成. 不可以是数字开头

  2, 声明变量使用var 变量名. 的格式来进行声明.

var name = "Alex";
var age = 18;

注意:

变量名是区分大小写的.

推荐使用驼峰式命名规则.

保留字不能用做变量名.

补充:

ES6新增了let命令, 用于声明变量, 其用法类似于var, 但是所声明的变量只在le't命令所在的代码块内

有效, 例如: for循环的计数器就很适合使用let 命令.

for (let i = 0; i < arr.length;i++){...}

ES6新增const用来声明常量, 一旦声明, 其值就不能改变.

const PI = 3.1415;
PT // 3.1415 PI = 3
//TypeError: "PI" is read-only

JS的数据类型:

  JS拥有动态类型:

var x;  // 此时x是undefined
var x=1; //此时x是数字
var x="Alex" // 此时x是字符串

数值(Number)

JS不区分整型和浮点型, 就只有一种数字类型.

var a=12.34;
var b=20;
var c=123e5; //
var d = 123e-5; // 0.00123

还有一种NaN, 表示不是一个数字(Not a Number).

数值常用方法:

parseInt("123")  // 返回123
parsenInt("ABC") // 返回NaN, NaN属性是代表非数字的特殊值, 是指某个值不是数字.
parsenInt("123.456") // 返回123.456

字符串(string)

var a = "Hello";
var b = "world";
var c = a+b;
console.log(c); // 得到Helloworld
方法 说明
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat(value,...) 拼接
.indexOf(substring,start) 子序列位置
.substring(from,to) 根据索引获取子序列
.slice(start,end) 切片
.toLowerCase() 小写
toUpperCase() 大写
.split(delimiter, limit) 分割
.length    lɛŋθ/             返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight()trim/trɪm/ 移除右边空白 和.trimLeft() 两者一起使用, 只会返回最后一个的操作.
.charAt() char/tʃɑr/ 返回第n个字符
.concat(value,...)/kɑn/ 拼接 可以拼接本身, 也可以拼接多个其他字符串.
.indexof(substring, start) 子序列位置 ===> b.indexOf("a",2);
                 表示从字符串b的第3个索引位置开始查找"a", 返回第一个被找到的索引.
.substrung(from, to) 根据索引获取子序列 # 第一个是起始位置, 第二个是结束位置 ,
               如果第二个数值小于第一个位置的时候, 两个数值会反转后再去取值(左闭右开)
.slice(start, end) 切片 # 根据索引位置, 其中可以设置第三个数字, 带三个数字可以代表步长,
                和取值方向. 如果第二个参数大于第一个, 返回一个空字符串.(左闭右开)
.toLowerCase() 小写 # 将字符串的所有字母转换成小写
.toUpperCase() 大写 # 将字符串中的所有字母转换成大写
.split(delimiter, limit)分割

补充:

ES6中引入了模板字符串。模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

// 普通字符串
`这是普通字符串!`
// 多行文本
`这是多行的
文本`
// 字符串中嵌入变量
var name = "q1mi", time = "today";
`Hello ${name}, how are you ${time}?`

注意:

如果模板字符串中需要使用反引号,则在其前面要用反斜杠转义。

JSHint启用ES6语法支持:/* jshint esversion: 6 */

布尔值(Boolean)

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

var a = ture;

var b = false;

" " , (空字符串) , 0 , null , undefined, NaN 都是false.

null和 undefined

  • null 表示为空, 一般在需要制定或清空一个变量时, 才会使用. 如 name=null;
  • undefined 表示当生命一个变量但未初始化时, 该变量的默认值是undefined.还有就是函数无明确的返回值, 返回的也是undefined.

null表示变量的值是空, undefined则表示只声明了变量, 但还没有赋值.

对象(Object)

JS 中的所有事物都是对象, 字符串, 数值, 数组, 函数, 此外, JS允许自定义对象.

JS 提供了多个内建对象, 比如String, Dare, Array等等.

对象 只是带有属性和方法的特殊数据类型.

数组:

数组对象的作用是: 使用单独的变量名来存储一些列的值, 类似于python中的列表.

var a = {"ABC", 123};
console.log(a[1]); //输出"ABC"

数组中的常用方法:

方法 说明
.length 数组的大小
.push(ele) 尾部追加元素
.pop() 获取尾部的元素
.unshift(ele) 头插入元素
.shift() 头部移除元素
.slice(start,end) 切片
.reverse() 反转
.concat(val,...) 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递个回调函数
.splice() 删除元素, 并向数组添加新元素
.map() 返回一个数组元素调用函数处理后的值的新数组
 
var a = [123,23,234,3423,423,42]
undefined
a.length
6

关于sort()需要注意:

如果调用该方法时没有使用参数, 将按字母顺序对数组中的元素进行排序,

就是按照字符编码顺序进行排序, 要实现这一点, 首先把数组的元素都转换成字符串(需要的话), 便可以进行比较.

如果想按照其他标准进行排序, 就需要提供比较函数, 该函数要比较两个值么然后返回一个用于说明两个之顺序的数字.比较函数应该具有两个参数a 和b. 其返回值如下:

若 a小于b 在排序后, 的数组中, a 应该出现在b 之前, 则返回一个小于0的值.

若a 小于b, 则返回0.

若a 等于b, 则返回0

若a 大于 b, 则返回一个大于0的值.

示例:

function sortNumber(a,b){
return a - b
} var arrl = [11, 100, 22, 55, 33, 44]
arrl.sort(sortNumber)

关于遍历数据中的元素, 可以使用下面的方式:

var a = [10, 20, 30, 40];

for (var i = 0; i<a.length;i++) {

  console.log(a[i])

}

forEach()

语法:

forEach(function(currentValue,))

参数:

前端基础------JS的更多相关文章

  1. 前端基础——js数据类型及判断方法

    一.数据类型 我们通常熟知的数据类型有六种,包括5种基本数据类型(Number, String, Boolean, Undefined, Null)和一种引用数据类型(Object).ES6又新增了一 ...

  2. 前端基础js(四)

    一. js [1] html:用于显示页面 [2] css:用于描述页面的样式 [3] javaScript:用于描述页面的行为 二.js中三大部分内容 [1] 基本语法:函数.对象.事件类型(变量, ...

  3. 前端基础面试题(JS部分)

    1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String 值类型:数值.布尔值.null.und ...

  4. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  5. BAT 前端开发面经 —— 吐血总结 前端相关片段整理——持续更新 前端基础精简总结 Web Storage You don't know js

    BAT 前端开发面经 —— 吐血总结   目录 1. Tencent 2. 阿里 3. 百度 更好阅读,请移步这里 聊之前 最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘, ...

  6. 前端基础面试题(js部分)

      前端基础面试题(JS部分)   1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined.Null.Boolean.Number.String值类 ...

  7. 前端05 /js基础

    前端05 /js基础 昨日内容回顾 css选择器的优先级 行内(1000) > id(100) > 类(10) > 标签(1) > 继承(0) 颜色 rgb(255,255,2 ...

  8. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  9. HTML+DIV+CSS+JSweb前端基础

    HTML+DIV+CSS+JSweb前端基础 1.<html>和</html> 标签限定了文档的开始和结束点. 属性: (1)  dir: 文本的显示方向,默认是从左向右 (2 ...

随机推荐

  1. 在LoadRunner脚本中实现随机ThinkTime

    一般情况下,我们都是通过Run-Time Settings来设置Think Time(思考时间),可以设置回放脚本时忽略思考时间,或者是设置回放随机的一段思考时间. By default, when ...

  2. Java: 获取当前执行位置的文件名/类名/方法名/行号

    在 JAVA 程序有时需要获取当前代码位置, 于是就利用 Thread.currentThread().getStackTrace() 写了下面这个工具类, 用来获取当前执行位置处代码的文件名/类名/ ...

  3. iOS 程序进入后台,包含用户上拉快捷菜单导致程序失去活跃的研究

    今日在使用某App时候,突然发现上拉菜单.程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理.当程序进入后台时候调用 - (void)applica ...

  4. NodeJS 安装不存在的模块

    设置npm镜像: npm config set registry https://registry.npm.taobao.org 我遇到的报错情况: Error: Cannot find module ...

  5. Android apktool反编译资源文件为空解决办法(测试天猫、淘宝等apk成功)

    1 Exception in thread main brut.androlib.androlibexception multiple resources 解决办法:下载最新的apktool,在goo ...

  6. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型API范围

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第9章节--client对象模型和REST APIs概览 client对象模型API范围         本章之前提到过. ...

  7. 牛散NO.2:MACD西施说风情,柳下惠高位勿迷情

    创业板日线“高位夺命勾魂枪” 话说在创业板的波段调整中,MACD的勾魂枪同样让多头“魂断蓝桥”.圈内图形又好比西施姑娘回眸一笑,吴王夫差便注定命赴黄泉了.范蠡的精心设计让西施 布了一个风情万种的局,被 ...

  8. Vue 获取验证码倒计时组件

    子组件 <template> <a class="getvalidate":class="{gray: (!stop)}"@click='cl ...

  9. 键值对集合 dict(字典)

    xx= { ss, ss } 创建字典 len(ss) 返回字典到长度,len函数可以返回任何集合的长度,list.tuple.dict都是集合的一种 什么是dict 我们已经知道,list 和 tu ...

  10. spring reactor记录操作日志

    1.注册日志的类: @Configuration@EnableReactorpublic class ReactorConfig { /** * * 〈注册审计日志 Reactor〉 */ @Bean ...