为什么" \"被截断的字符串" videos \ 1_visualisation.mp4"

时间:2015-06-05 10:54:14

标签: javascript angularjs video

下面是我的示例角度js代码。工厂包含视频源列表。

    var videoPlayer=angular.module('videoPlayer',[])

videoPlayer.controller("videoplayer",["$scope","videolist",function($scope,videolist)
{
    $scope.position=0;
    $scope.audiolength=videolist.sources.length;
    $scope.videosrc=videolist.sources[$scope.position];
    console.log($scope.videosrc)
}])

videoPlayer.factory('videolist',function()
{
    var videolist={};
    videolist.sources=[
    'videos\1_visualisation.mp4',
    'videos\2_visualisation.mp4',
    'videos\3_visualisation.mp4'
    ]
    return videolist;
})

为什么" \"从字符串中转出来。

$ scope.videosrc = videolist.sources [$ scope.position];

返回" videos1_visualisation.mp4" 。为什么会发生这种情况

3 个答案:

答案 0 :(得分:2)

\字符开始escape sequence(在这种情况下\11,因为它没有被定义为特殊的\n OTOH将成为新的一条线。)

如果要在字符串文字中包含一个作为数据,则必须使用它的转义序列:\\

答案 1 :(得分:1)

您需要转义\

videolist.sources=[
    'videos\\1_visualisation.mp4',
    'videos\\2_visualisation.mp4',
    'videos\\3_visualisation.mp4'
    ]

答案 2 :(得分:1)

反斜杠被解释为开始"转义序列"用于表示特殊字符。例如,\n表示换行符。如果给定的数字或字母不是识别的转义序列的一部分,则仅显示字符本身。在您的情况下,\1呈现为1。要保留斜杠,要么转义斜杠本身......

'videos\\1_visualisation.mp4'

......或者,如果你只需要保留路径......

'videos/1_visualisation.mp4'