什么是原生JS

JavaScript063

什么是原生JS,第1张

原生态JS是指遵循ECMAscript标准的javascript,不同于微软的jscript也不依赖于任何框架,依托于浏览器标准引擎的脚本语言。

jquery是在原生态的js上集成的框架资源,使用jquery并不代表代码就不是你写的,区别在于使用jquery只是使用了它的语法,更利于兼容以及实现,jquery已经将常规的js兼容问题解决,所以使用起来出现不兼容的情况会更少,更利于开发。

但同时,要使用jquery等框架也需要去学习相关的语法,拥有js基础的同学学习jquery时会发现很轻松,在使用时也会发现很方便。

扩展资料

JS基本特点:

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。

1、是一种解释性脚本语言(代码不进行预编译)。

2、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。

3、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

4、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。

Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。

参考资料:百度百科-javascript

原生js实现获取form表单数据

//获取指定form中的所有的<input>对象  function getElements(formId) {

var form = document.getElementById(formId)

var elements = new Array()

var tagElements = form.getElementsByTagName('input')

for (var j = 0j <tagElements.lengthj++){

elements.push(tagElements[j])

}

var tagElements = form.getElementsByTagName('select')

for (var j = 0j <tagElements.lengthj++){

elements.push(tagElements[j])

}

var tagElements = form.getElementsByTagName('textarea')

for (var j = 0j <tagElements.lengthj++){

elements.push(tagElements[j])

}    return elements 

}  

//组合URL function serializeElement(element) {

var method = element.tagName.toLowerCase()

var parameter

if(method == 'select'){

parameter = [element.name, element.value]

}    switch (element.type.toLowerCase()) {

case 'submit':

case 'hidden':

case 'password':

case 'text':        case 'date':        case 'textarea':

parameter = [element.name, element.value]            break       case 'checkbox':

case 'radio':

if (element.checked){

parameter = [element.name, element.value]

}            break

}

if (parameter) {

var key = encodeURIComponent(parameter[0])

if (key.length == 0)

return

if (parameter[1].constructor != Array)

parameter[1] = [parameter[1]]

var values = parameter[1]

var results = []

for (var i = 0i <values.lengthi++) {

results.push(key + '=' + encodeURIComponent(values[i]))

}

return results.join('&')

}  

}  

//调用方法   function serializeForm(formId) {

var elements = getElements(formId)

var queryComponents = new Array()

for (var i = 0i <elements.lengthi++) {

var queryComponent = serializeElement(elements[i])

if (queryComponent) {

queryComponents.push(queryComponent)

}

}

return queryComponents.join('&')

} 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

最后通过serializeForm(formId)输入form的id名称即可实现,返回数据为

id=1&title=%E6%B4%BB%E5%8A%A8&time=2017-07-10&status=1&importance=0&desc=%E5%9C%A8%E4%BA%8C%E6%A5%BC%E5%8A%9E%E5%85%AC%E5%AE%A4%E5%BC%80%E4%BC%9A%EF%BC%8C%E4%B8%80%E7%82%B9%E9%92%9F1

js实现的模拟form提交数据

[javascript] view plain copy

<span style="font-size:18px">  /**

* 导出excel使用的post

*/

post : function(URL, PARAMS) {

var temp = document.createElement("form")

temp.action = URL

temp.method = "post"

temp.style.display = "none"

if (PARAMS.length > 0) {

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

var opt = document.createElement("textarea")

opt.name = PARAMS[i].name

//防止IE浏览器将null 自动转换为"null" 导致错误

if(PARAMS[i].value !== null){

opt.value = PARAMS[i].value

}

temp.appendChild(opt)

}

}

document.body.appendChild(temp)

temp.submit()

return temp

}

}</span>