Javascript 除了性能略捉鸡外基本是全能的,可以应用在以下领域:
成都创新互联是一家专业提供颍泉企业网站建设,专注与成都网站设计、做网站、H5场景定制、小程序制作等业务。10年已为颍泉众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
1. 网站开发
1.1. 网站前端开发
Javascript 的老本行。用来实现前端逻辑,简单的比如说点一个按钮会发生什么之类的,复杂的你可以用 js 写个 x86 模拟器再灌个 linux 系统进去。
1.2. 网站后端开发
Node.js 让程序员可以用 js 自由地写后端了。
2. 移动开发
2.1. Web app
HTML5 提供了很多 API 支持,可以实现原生应用拥有的大部分功能,但是性能有待提高。像 Firefox OS 就是基于 web app 的移动操作系统。
2.2. 混合式应用开发
把原生应用的一部分用前端技术实现,使原生应用更加灵活。很多应用都会这样做。PhoneGap 之类平台的出现允许程序员使用 js 来进行移动应用开发。
3. 桌面开发
主要是指 chrome 等浏览器能把 js 写的程序打包成桌面应用。Google 力推的 Chrome OS 也是基于 web app 的操作系统。
4. 插件开发
Javascript 是唯一一种在所有主流平台都被原生支持的编程语言,因此在所有主流平台都可以使用 js 进行插件开发。常见的有浏览器插件和扩展程序,同时大部分移动应用的插件平台也是使用 js 进行插件开发的,因为一次开发可以保证跨平台使用。
没错,几乎所有领域都可以使用 js 进行开发,就算现在不能以后也会可以的,所有能用 Javascript 写的东西最终都会被 Javascript 写出来。
1.JavaScript 为 HTML 设计师提供了一种编程工具 HTML 创作者往往都不是程序员,但是 JavaScript 却是一种只拥有极其简单的语法的脚本语言!几乎每个人都有能力将短小的代码片断放入他们的 HTML 页面当中。 2.JavaScript 可以将动态的文本放入 HTML 页面 类似于这样的一段 JavaScript 声明可以将一段可变的文本放入 HTML 页面:document.write("h1" + name + "/h1") 3.JavaScript 可以对事件作出响应 可以将 JavaScript 设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个 HTML 元素时。 4.JavaScript 可以读写 HTML 元素 JavaScript 可以读取及改变 HTML 元素的内容。 5.JavaScript 可被用来验证数据 在数据被提交到服务器之前,JavaScript 可被用来验证这些数据。 6.JavaScript 可被用来检测访问者的浏览器 JavaScript 可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。 7.JavaScript 可被用来创建 cookies JavaScript 可被用来存储和取回位于访问者的计算机中的信息。
语言只是一种工具,javascript主要是当作解释型脚本语言使用,在网页中可以控制页面元素的属性,和用户互动.如果用于Windows Script Host,可以通过Windows提供的一些对象实现一些类似应用程序的功能.如果用于Node.js,你还可以用它来写服务器。
如果在某个程序中实现了javascript的解释器,理论上讲是可以用来写软件的。
JavaScript 脚本语言由于其效率高、功能强大等特点,在表单数据合法性验证、网页特
效、交互式菜单、动态页面、数值计算等方面获得广泛的应用,甚至出现了完全使用JavaScript
编写的基于Web 浏览器的类Unix 操作系统JS/UIX 和无需安装即可使用的中文输入法程序
JustInput.
1.表单数据合法性验证
2.网页特效
3.交互式菜单
4.动态页面
5.数值计算
JavaScript 脚本的应用远非如此,Web 应用程序开发者能将其与XML 有机结合,并嵌
入Java applet 和flash 等小插件,就能实现功能强大并集可视性、动态性和交互性于一体的
HTML 网页,吸引更多的客户来浏览该网站。
1、字符串的创建
创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量。
var myStr = "Hello, String!";
我们在上面脚本创建了字符串,但本质上,它们并不是真正的字符串对象,准确地说,它们是字符串类型的值。要创建一个字符串对象,可使用如下语句:var strObj = new String("Hello, String!");
使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。
如果想知道字符串的长度,使用其length属性:string.length。
得到字符串的指定位置的字符使用方法:string.charAt(index);
2、字符串的拼接
非常简单,就用一个"+"将两个字符串"相加":
var longString = "One piece " + "plus one more piece.";
要将多个字符串累积为一个字符串,还可以使用"+="操作符:
var result = "";
result += "My name is Anders"
result += " and my age is 25";
要在字符串中添加换行符,需要使用转义字符"/n":
var confirmString = "You did not enter a response to the last " +
"question./n/nSubmit form anyway?";
var confirmValue = confirm(confirmString);
但这种方法只能用在像警告、确认对话框之类的情况下,如果将这段文本作为HTML内容呈现,就无效了,此时用"br"代替它:
var htmlString = "First line of string.brSecond line of string.";
document.write(htmlString);
String对象还提供了方法concat(),它完成与"+"相同的功能:
string.concat(value1, value2, ...)
不过concat()方法显然不如"+"来得直观简洁。
3、访问字符串的子串
使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。
substring()的原型为: string.substring(from, to)
第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。
如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。
var fullString = "Every dog has his day.";
var section = fullString.substring(0, 4); // section is "Ever".
slice()的原型为: string.slice(start, end)
参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。
还有一个方法是substr(),其原型为: string.substr(start, length)
从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。
4、字符串的大小写转换
使用toLowerCase()和toUpperCase()方法:
var city = "ShanGHai";
city = city.toLowerCase(); // city is "shanghai" now.
5、判断两个字符串是否相等
先将用户的输入值全部转换为大写(或小写),然后再行比较:
var name = document.form1.txtUserName.value.toLowerCase();
if(name == "urname")
{
// statements go here.
}
JavaScript有两种相等运算符。一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换,考虑下面的赋值语句:
var strA = "i love you!";
var strB = new String("i love you!");
这两个变量含有相同的字符序列,但数据类型却不同,前者为string,后者为object,在使用"=="操作符时,JavaScript会尝试各种求值,以检测两者是否会在某种情况下相等。所以下面的表达式结果为true: strA == strB。
第二种操作符是"严格"的"===",它在求值时不会这么宽容,不会进行类型转换。所以表达式strA === strB的值为false,虽然两个变量持有的值相同。
有时代码的逻辑要求你判断两个值是否不相等,这里也有两个选择:"!="和严格的"!==",它们的关系就类似于"=="和"==="。
讨论:
"=="和"!="在求值时会尽可能地寻找值的匹配性,但你可能还是想在比较前进行显式的类型转换,以"帮助"它们完成工作。比如,如果想判断一个用户的输入值(字符串)是否等于一个数字,你可以让"=="帮你完成类型转换:
if(document.form1.txtAge.value == someNumericVar) { ... }
也可以提前转换:
if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }
如果你比较习惯于强类型的编程语言(比如C#,Java等),那么这里你可以延续你的习惯(类型转换),这样也会增强程序的可读性。
有一种情况需要注意,就是计算机的区域设置。如果用""和""来比较字符串,那么JavaScript把它们作为Unicode来比较,但显然,人们在浏览网页时不会把文本当作Unicode来阅读:) 比如在西班牙语中,按照传统的排序,"ch"将作为一个字符排在"c"和"d"之间。localeCompare()提供了一种方式,可以帮助你使用默认区域设置下的字符排序规则。
var strings; // 要排序的字符串数组,假设已经得到初始化
strings.sort(function(a,b) { return a.localeCompare(b) }); // 调用sort()方法进行排序
6、字符串的查找
使用string的indexOf()方法:
strObj.indexOf(subString[, startIndex])
strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj开始处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。
indexOf()返回strObj中subString的开始位置,如果没有找到,则返回-1。在脚本中,可以这么使用:
if(largeString.indexOf(shortString) != -1)
{
// 如果包含,进行相应处理;
}
也许一个字符串会包含另一字符串不止一次,这时第二个参数startIndex也许会派上用场,下面这个函数演示如何求得一个字符串包含另外一个字符串的次数:
function countInstances(mainStr, subStr)
{
var count = 0;
var offset = 0;
do
{
offset = mainStr.indexOf(subStr, offset);
if(offset != -1)
{
count++;
offset += subStr.length;
}
}while(offset != -1)
return count;
}
String对象有一个与indexOf()对应的方法,lastIndexOf():
strObj.lastIndexOf(substring[, startindex])
strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj末尾处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。该方法自右向左查找,返回subString在strObj中最后出现的位置,如果没有找到,返回-1。
只要是跟页面打交道的都可以使用上JavaScript,关键就是“页面”。而且适用的语言有很多,比如:JSP、ASP、PHP、HTML等等。