Js和Php的区别是什么?
9个回答
展开全部
1、两者的核心功能不一样:
php中的核心功能是用函数方式实现,例如取得一个字符串的长度:$length = strlen(str);
而js是用对象的方法实现,例如取得一个字符串的长度:var length = str.length。
2、变量传值方式不一样:
js中,变量的传值传递和传址传递是根据传递的对象的类型决定的,不能自己随心控制;
而php中所有类型都可以自由控制其传值是传值还是传址,在变量前加上&就可以变成传址方式,不加&就是传值方式。
3、两者基本特点不一样:
php是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
js是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
参考资料来源:百度百科-javascript
参考资料来源:百度百科-PHP
2018-06-28 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
1,类型转换的不同
在javascript中
空对象和空数组转换为boolean值为true;
但在php中
空对象空数组转换为boolean值为false;
(仅在php4中空对象的boolean值为false)
包括非0的负数值,都是转换为true;
2,实形参的不同
在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参
而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)
复制代码代码如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错
复制代码代码如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,
本质原因由于php不存在原型连,执行过程中没有变量对象。
3.数据类型的不同
js中有undefined类型,php中无此类型,
因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;
并且js中只有number类型,而在php中无此类型,取代的为int float类型;
4.字符串的连接
js中使用加号 + +=
php中使用点号 ..=
5.控制语句的区别
else if与elseif在php中都支持,js只支持前者
6.大小写问题
js严格区分大小写
php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。
7.变量的作用范围
php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的
程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。
js由于原型连的关系,可直接调用
8.静态变量
PHP支持声明函数变量为静态的(static)
js随无静态变量但可以定义函数的属性来冒充静态变量
在javascript中
空对象和空数组转换为boolean值为true;
但在php中
空对象空数组转换为boolean值为false;
(仅在php4中空对象的boolean值为false)
包括非0的负数值,都是转换为true;
2,实形参的不同
在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参
而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)
复制代码代码如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错
复制代码代码如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,
本质原因由于php不存在原型连,执行过程中没有变量对象。
3.数据类型的不同
js中有undefined类型,php中无此类型,
因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;
并且js中只有number类型,而在php中无此类型,取代的为int float类型;
4.字符串的连接
js中使用加号 + +=
php中使用点号 ..=
5.控制语句的区别
else if与elseif在php中都支持,js只支持前者
6.大小写问题
js严格区分大小写
php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。
7.变量的作用范围
php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的
程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。
js由于原型连的关系,可直接调用
8.静态变量
PHP支持声明函数变量为静态的(static)
js随无静态变量但可以定义函数的属性来冒充静态变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先要了解,当你要访问一个网站的时候,你通过浏览器向某个网址发出请求,然后那个网址对应的服务器接收到请求并执行相应处理,然后返回一个响应给你的浏览器。如果这个响应内容是一份HTML文档,那么浏览器就会解析渲染这份HTML,展示出来给你看,就是你看到的网页。
那么服务器怎么组织这份HTML响应呢?就可以通过各种程序来计算、“拼凑”,比如Java、.NET、php等等。所以php是运行在服务器上的脚本。
虽然同样是脚本,过去javascript流行起来的时候,最大的用法却是让它作为HTML文档中的一部分,由服务器返回给客户端浏览器,然后javascript脚本在浏览器中被浏览器执行,进行各种处理(例如校验表单输入、动态改变页面DOM元素或样式、发出AJAX请求等等)。所以javascript大部分时候是运行在浏览器上的。这种情况下,对于服务器来说,它不“认识”这是javascript脚本,只当作普通文本字符串内容(是响应HTML文档内容的一部分)而已。
上面之所以没有说javascript是绝对运行在浏览器端的原因,是因为目前逐渐流行的node.js,是一项将javascript脚本运行在服务器端,完成和传统Java、php等服务器端web server相同功能的技术。其实,javascript脚本刚被发明出来的时候,是被设计用来做服务器端脚本的。估计连创始者也没想到,javascript会“绕”了这么一个大圈,但是处处大放光彩。
那么服务器怎么组织这份HTML响应呢?就可以通过各种程序来计算、“拼凑”,比如Java、.NET、php等等。所以php是运行在服务器上的脚本。
虽然同样是脚本,过去javascript流行起来的时候,最大的用法却是让它作为HTML文档中的一部分,由服务器返回给客户端浏览器,然后javascript脚本在浏览器中被浏览器执行,进行各种处理(例如校验表单输入、动态改变页面DOM元素或样式、发出AJAX请求等等)。所以javascript大部分时候是运行在浏览器上的。这种情况下,对于服务器来说,它不“认识”这是javascript脚本,只当作普通文本字符串内容(是响应HTML文档内容的一部分)而已。
上面之所以没有说javascript是绝对运行在浏览器端的原因,是因为目前逐渐流行的node.js,是一项将javascript脚本运行在服务器端,完成和传统Java、php等服务器端web server相同功能的技术。其实,javascript脚本刚被发明出来的时候,是被设计用来做服务器端脚本的。估计连创始者也没想到,javascript会“绕”了这么一个大圈,但是处处大放光彩。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在我看来没区别啊,一样可以处理数据,先创建一个js文件写入js代码,用link导入html,然后上传服务器,别人也攻击不了啊,后台都省了,特殊时候直接去数据库里改数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好比电冰箱和电视机的区别。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询