19.JavaScript

简介

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型

1.注释

单行   //
多行   /*   */

2.引用方式

<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="commons.js"></script>
</head>
<body>
    <script>
        alert('derek')
    </script>
</body>

3.JavaScript代码要放在<body>最下面,可以让网页尽快的呈现给用户,减少浏览者的等待时间,避免因为JS代码块阻塞网页的呈现。

常用数据类型

1.变量

局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量

// 全局变量
name = 'derek';

function demo() {
    // 局部变量
    var age = 18;
    // 全局变量
    gender = 'M'
}

2.数字

JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。

转换:

  • parseInt(..)    将某值转换成数字,不成功则NaN
  • parseFloat(..) 将某值转换成浮点数,不成功则NaN

特殊值:

  •  NaN,非数字。可使用 isNaN(num) 来判断。
  • Infinity,无穷大。可使用 isFinite(num) 来判断

3.字符串

(1)charAt (输入索引位置获取字符)

a='derek'
"derek"
a.charAt(2)
"r"
a.charAt(4)
"k"

(2)substring (输入起始位置,结束位置获取字符)

a.substring(2,4)
"re"

(3)lenght (获取当前字符串长度)

a.length
5

(4)concat (字符串拼接)

a.concat('123')
"derek123"

(5)查看索引位置

a.indexOf('k')
4
a.indexOf('r')
2

(6)split (分割字符)

a.split('e')
(3) ["d", "r", "k"]
a.split('e',1)
["d"]
a.split('e',2)
(2) ["d", "r"]
String.length    字符串的长度
String.trim()    移除空白
String.trimLeft()    移除左侧空白
String.trimRight()    移除右侧空白
String.concat(value, ...)    拼接
String.slice(start, end)    切片
String.split( )    分割
String.search( )    从头开始匹配,返回匹配成功的第一个位置(g无效)
String.match( )    全局搜索,如果正则中有g表示找到全部,否则只找到第一个
String.replace( )    替换,正则中有g则替换所有,否则只替换第一个匹配项;
$数字:匹配的第n个组内容;
$&:当前匹配的内容;
$`:位于匹配子串左侧的文本;
$':位于匹配子串右侧的文本
$$:直接量$符号
String.charAt( )    返回字符串中的第n个字符
String.charCodeAt( )    返回字符串中的第n个字符的代码
String.fromCharCode( )    从字符编码创建—个字符串
String.indexOf( )    查找子字符串位置
String.lastIndexOf( )    查找子字符串位置
String.localeCompare( )    用本地特定的顺序来比较两个字符串
String.substr( )    抽取一个子串
String.substring( )    返回字符串的一个子串
String.toLocaleLowerCase( )    把字符串转换小写(针对地区,在不知道程序在哪个语言环境中运行时用)
String.toLocaleUpperCase( )    将字符串转换成大写(针对地区)
String.toLowerCase( )    小写
String.toUpperCase( )    大写
String.toString( )    返回原始字符串值
String.toString()    返回原始字符串值
String.valueOf( )    返回原始字符串值

4.布尔值

true(真)和false(假),要用小写

==      比较值相等
!=       不等于
===   比较值和类型相等
!===  不等于
||        或
&&      且

5.数组

a = [11,22,33,44]     -->数组
(4) [11, 22, 33, 44]
a.splice(1,2)         -->切片
(2) [22, 33]
a.splite(1,3,66)
Array.length    数组的大小
Array.push()    尾部添加元素
Array.pop()    删除并返回数组的最后一个元素
Array.unshift()    在数组头部插入一个元素
Array.shift( )    在数组头部移除一个元素
Array.slice( )    切片
Array.reverse( )    反转
Array.join( )    将数组元素连接起来以构建一个字符串
Array.concat( )    拼接
Array.sort( )    排序
Array    对数组的内部支持
Array.splice( start, deleteCount, value, ...)    
插入、删除或替换数组的元素

obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1)    指定位置删除元素
Array.toLocaleString( )    把数组转换成局部字符串
Array.toString( )    将数组转换成一个字符串

6、字典 

创建字典

>dic = {'k1':'v1','k2':'v2'};
<Object {k1: "v1", k2: "v2"}

语句

1.循环

(1)for循环,两种方式

    a = [11,22,33,44]
    for(var item in a){
        console.log(a[item])
    }
11
22
33
44
a = [11,22,33,44]
        for(var i=0;i<a.length;i += 1){
            console.log(a[i])
        }

11
22
33
44

(2)while循环

while(条件){
    // break;
    // continue;
}

2.条件语句

(1)if语句

if(条件){
  
    }else if(条件){
          
    }else if(条件){
 
    }else{
 
    }

(2)switch条件语句

switch(name){
        case '1':
            age = 123;
            break;
        case '2':
            age = 456;
            break;
        default :
            age = 777;
    }

函数

// 普通函数
    function func(arg){
        return true;
    }
           
// 匿名函数
    var func = function(arg){
        return "derek";
    }
   
// 自执行函数
    (function(arg){
        console.log(arg);
    })('derek')

正则表达式

1.匹配模式 

/.../  用于定义正则表达式
/.../g 表示全局匹配
/.../i 表示不区分大小写
/.../m 表示多行匹配

2.test

(判断字符串是否符合规定的正则)

rep = /\d+/             -->只要有符合匹配的就返回true
/\d+/
rep.test('derek')
false
rep.test('derek123')
true

rep = /^\d+$/          -->全部符合匹配的才返回true
/^\d+$/
rep.test('derek123')
false
rep.test('123')
true

3.exec

      exec(string)    用于获取正则匹配的内容

4.规则

\d     数字,等同于[0-9]
\D     非数字,等同于[^0-9]
\s     空白字符
\S     非空白字符
\w     字母、数字、下划线,等同于[0-9A-Za-z_](汉字不属于\w)
\W     非字母、数字、下划线,等同于[^0-9A-Za-z_]
元字符         名称              匹配对象
.             点号              单个任意字符(除回车\r、换行\n、行分隔符\u2028和段分隔符\u2029外)
[]            字符组             列出的单个任意字符
[^]           排除型字符组        未列出的单个任意字符
?             问号               匹配0次或1次
*             星号               匹配0交或多次
+             加号               匹配1次或多次
{min,max}     区间量词           匹配至少min次,最多max次
^             脱字符             行的起始位置
$             美元符             行的结束位置
|             竖线               分隔两边的任意一个表达式
()            括号               限制多选结构的范围,标注量词作用的元素,为反向引用捕获文本
\1,\2...      反向引用            匹配之前的第一、第二...组括号内的表达式匹配的文本

定时器

setInterval(“执行函数”,“时间”)表示创建一个定时器

  <script>
       function func(){
           console.log(1);
       }
       //创建一个定时器
       setInterval('func()',5000);   //5000表示5秒,每隔五秒执行一次func()
    </script>

做个滚动字符的实例

<body>
    <div id="i1">欢迎来到zhang_derek的blog</div>
    <script>
       function func(){
           var tag = document.getElementById('i1');
           var content = tag.innerText;
           var f = content.charAt(0);
           var l = content.substring(1,content.length);
           var new_content = l + f;
           tag.innerText = new_content;
       }
       setInterval('func()',500);
    </script>
</body>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA技术站

shell学习一变量的定义 原

用符号$加上变量名如 $name 或${name},{}括号是为了确定变理边界,推荐使用

661
来自专栏柠檬先生

zepto 基础知识(2)

20.append   append(content) 类型:self   在每个匹配的元素末尾插入内容(内部插入)。内容可以为html 字符...

2186
来自专栏技术专栏

Python3入门与实践(一): 基本类型整理

1323
来自专栏Python研发

数据基本类型操作

982
来自专栏杨龙飞前端

es6中的let声明变量与es5中的var声明变量的区别,局部变量与全局变量

2077
来自专栏前端知识分享

第149天:javascript中this的指向详解

js中的this指向十分重要,了解js中this指向是每一个学习js的人必学的知识点,今天没事,正好总结了js中this的常见用法,喜欢的可以看看:

962
来自专栏飞雪无情的博客

Go语言实战笔记(四)| Go 数组

数组,是用来存储集合数据的,这种场景非常多,我们编码的过程中,都少不了要读取或者存储数据。当然除了数组之外,我们还有切片、Map映射等数据结构可以帮我们存储数据...

1103
来自专栏LIN_ZONE

慕课网python入门教程学习

  print u'中文'     注:Unicode编码,和r的语法差不多,还可以   ur''' Python的Unicode字符串支持"中文"'''

1263
来自专栏Golang语言社区

Golang语言之defer-再议

defer语句被用于预定对一个函数的调用。我们把这类被defer语句调用的函数称为延迟函数。注意,defer语句只能出现在函数或方法的内部。 一条defer语句...

35114
来自专栏desperate633

关于Java构造函数(Constructor)的常见问题总结1 为什么调用子类的构造方法的时候,默认会调用父类的构造方法2 常见错误:Implicit super constructor is und

当继承自一个类的时候,构造方法就会首先调用super()方法。如果没有显式的写这个语句,那么编译器就会自动插入这个语句。这就是为什么我们上面的那个例子程序会先调...

1203

扫码关注云+社区

领取腾讯云代金券